/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-3.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,728 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 10:16:55,777 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 10:16:55,778 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 10:16:55,779 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 10:16:55,782 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 10:16:55,786 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 10:16:55,788 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 10:16:55,792 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 10:16:55,793 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 10:16:55,794 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 10:16:55,795 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 10:16:55,796 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 10:16:55,797 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 10:16:55,800 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 10:16:55,801 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 10:16:55,801 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 10:16:55,803 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 10:16:55,808 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 10:16:55,810 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 10:16:55,811 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 10:16:55,811 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 10:16:55,812 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 10:16:55,813 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 10:16:55,820 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 10:16:55,820 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 10:16:55,820 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 10:16:55,821 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 10:16:55,822 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 10:16:55,822 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 10:16:55,823 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 10:16:55,824 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 10:16:55,825 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 10:16:55,825 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 10:16:55,826 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 10:16:55,826 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 10:16:55,827 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 10:16:55,827 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 10:16:55,827 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 10:16:55,827 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 10:16:55,829 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 10:16:55,829 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,857 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 10:16:55,857 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 10:16:55,858 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 10:16:55,858 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 10:16:55,858 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 10:16:55,858 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 10:16:55,859 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 10:16:55,859 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 10:16:55,859 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 10:16:55,860 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 10:16:55,860 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 10:16:55,860 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 10:16:55,861 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 10:16:55,862 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 10:16:55,862 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 10:16:55,862 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 10:16:55,862 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 10:16:55,862 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 10:16:55,862 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:16:55,863 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 10:16:55,863 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 10:16:55,863 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 10:16:55,863 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 10:16:55,863 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 10:16:55,863 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 10:16:55,864 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 10:16:55,864 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 10:16:55,864 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,080 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 10:16:56,104 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 10:16:56,106 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 10:16:56,107 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 10:16:56,108 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 10:16:56,109 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/invert_string-3.c [2022-04-27 10:16:56,170 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ddd800d3e/7489652505ef4785ba4d5f34ff044406/FLAG90fabb592 [2022-04-27 10:16:56,538 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 10:16:56,538 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-3.c [2022-04-27 10:16:56,542 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ddd800d3e/7489652505ef4785ba4d5f34ff044406/FLAG90fabb592 [2022-04-27 10:16:56,552 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ddd800d3e/7489652505ef4785ba4d5f34ff044406 [2022-04-27 10:16:56,553 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 10:16:56,555 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 10:16:56,556 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 10:16:56,556 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 10:16:56,561 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 10:16:56,562 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,563 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5b8ef757 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,564 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,569 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 10:16:56,583 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 10:16:56,710 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-3.c[327,340] [2022-04-27 10:16:56,733 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:16:56,741 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 10:16:56,751 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-3.c[327,340] [2022-04-27 10:16:56,760 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:16:56,773 INFO L208 MainTranslator]: Completed translation [2022-04-27 10:16:56,774 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,774 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 10:16:56,774 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 10:16:56,775 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 10:16:56,775 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 10:16:56,784 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,784 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,790 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,790 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,798 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,802 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,804 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,806 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 10:16:56,808 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 10:16:56,808 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 10:16:56,809 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 10:16:56,810 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,822 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:16:56,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:56,853 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,862 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,885 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 10:16:56,885 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 10:16:56,885 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 10:16:56,885 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 10:16:56,886 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 10:16:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 10:16:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 10:16:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 10:16:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 10:16:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 10:16:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 10:16:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 10:16:56,937 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 10:16:56,938 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 10:16:57,086 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 10:16:57,093 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 10:16:57,093 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 10:16:57,095 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,095 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 10:16:57,097 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 10:16:57,097 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 10:16:57,100 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 10:16:57,100 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,101 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59838fb 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,101 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,101 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59838fb 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,101 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,103 INFO L111 eAbstractionObserver]: Analyzing ICFG invert_string-3.c [2022-04-27 10:16:57,121 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 10:16:57,125 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 10:16:57,179 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 10:16:57,185 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@41ffd413, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@57541d9a [2022-04-27 10:16:57,185 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 10:16:57,193 INFO L276 IsEmpty]: Start isEmpty. Operand has 27 states, 19 states have (on average 1.4210526315789473) internal successors, (27), 20 states have internal predecessors, (27), 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,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-04-27 10:16:57,200 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:57,201 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:57,201 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:57,209 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:57,209 INFO L85 PathProgramCache]: Analyzing trace with hash 1728321422, now seen corresponding path program 1 times [2022-04-27 10:16:57,222 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:57,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2085682512] [2022-04-27 10:16:57,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:57,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:57,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:57,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,741 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); {30#true} is VALID [2022-04-27 10:16:57,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {30#true} assume true; {30#true} is VALID [2022-04-27 10:16:57,742 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {30#true} {30#true} #67#return; {30#true} is VALID [2022-04-27 10:16:57,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {30#true} call ULTIMATE.init(); {37#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:57,745 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); {30#true} is VALID [2022-04-27 10:16:57,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {30#true} assume true; {30#true} is VALID [2022-04-27 10:16:57,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30#true} {30#true} #67#return; {30#true} is VALID [2022-04-27 10:16:57,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {30#true} call #t~ret13 := main(); {30#true} is VALID [2022-04-27 10:16:57,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {30#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {35#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:16:57,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {35#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {35#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:16:57,753 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {36#(and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:16:57,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {36#(and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} assume !(~i~0 >= 0); {31#false} is VALID [2022-04-27 10:16:57,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {31#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {31#false} is VALID [2022-04-27 10:16:57,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {31#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {31#false} is VALID [2022-04-27 10:16:57,757 INFO L272 TraceCheckUtils]: 11: Hoare triple {31#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {31#false} is VALID [2022-04-27 10:16:57,757 INFO L290 TraceCheckUtils]: 12: Hoare triple {31#false} ~cond := #in~cond; {31#false} is VALID [2022-04-27 10:16:57,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {31#false} assume 0 == ~cond; {31#false} is VALID [2022-04-27 10:16:57,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {31#false} assume !false; {31#false} is VALID [2022-04-27 10:16:57,758 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,758 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:57,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2085682512] [2022-04-27 10:16:57,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2085682512] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:57,760 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:57,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 10:16:57,763 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [980154095] [2022-04-27 10:16:57,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:57,770 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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 15 [2022-04-27 10:16:57,772 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:57,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,808 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 10:16:57,808 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:57,842 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 10:16:57,843 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 10:16:57,845 INFO L87 Difference]: Start difference. First operand has 27 states, 19 states have (on average 1.4210526315789473) internal successors, (27), 20 states have internal predecessors, (27), 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 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,141 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 10:16:58,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 10:16:58,142 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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 15 [2022-04-27 10:16:58,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:58,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-27 10:16:58,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-27 10:16:58,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-27 10:16:58,236 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:16:58,246 INFO L225 Difference]: With dead ends: 48 [2022-04-27 10:16:58,246 INFO L226 Difference]: Without dead ends: 24 [2022-04-27 10:16:58,249 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-04-27 10:16:58,256 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:58,257 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 35 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:16:58,271 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-04-27 10:16:58,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 23. [2022-04-27 10:16:58,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:58,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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,305 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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,305 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,310 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-27 10:16:58,310 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-27 10:16:58,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,311 INFO L74 IsIncluded]: Start isIncluded. First operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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:58,312 INFO L87 Difference]: Start difference. First operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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:58,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,314 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-27 10:16:58,314 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-27 10:16:58,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:58,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:58,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2022-04-27 10:16:58,318 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 25 transitions. Word has length 15 [2022-04-27 10:16:58,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:58,319 INFO L495 AbstractCegarLoop]: Abstraction has 23 states and 25 transitions. [2022-04-27 10:16:58,319 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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,319 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2022-04-27 10:16:58,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 10:16:58,320 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:58,320 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:58,320 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 10:16:58,321 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:58,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:58,323 INFO L85 PathProgramCache]: Analyzing trace with hash -1238871028, now seen corresponding path program 1 times [2022-04-27 10:16:58,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:58,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307588235] [2022-04-27 10:16:58,323 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,323 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:58,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:58,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,441 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); {187#true} is VALID [2022-04-27 10:16:58,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {187#true} assume true; {187#true} is VALID [2022-04-27 10:16:58,441 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {187#true} {187#true} #67#return; {187#true} is VALID [2022-04-27 10:16:58,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {187#true} call ULTIMATE.init(); {193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:58,442 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); {187#true} is VALID [2022-04-27 10:16:58,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {187#true} assume true; {187#true} is VALID [2022-04-27 10:16:58,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {187#true} {187#true} #67#return; {187#true} is VALID [2022-04-27 10:16:58,443 INFO L272 TraceCheckUtils]: 4: Hoare triple {187#true} call #t~ret13 := main(); {187#true} is VALID [2022-04-27 10:16:58,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {187#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {192#(and (<= 5 main_~max~0) (<= (div main_~max~0 4294967296) (div main_~i~0 4294967296)) (= main_~i~0 0))} is VALID [2022-04-27 10:16:58,445 INFO L290 TraceCheckUtils]: 6: Hoare triple {192#(and (<= 5 main_~max~0) (<= (div main_~max~0 4294967296) (div main_~i~0 4294967296)) (= main_~i~0 0))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {188#false} is VALID [2022-04-27 10:16:58,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {188#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {188#false} is VALID [2022-04-27 10:16:58,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {188#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {188#false} is VALID [2022-04-27 10:16:58,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {188#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {188#false} is VALID [2022-04-27 10:16:58,446 INFO L290 TraceCheckUtils]: 10: Hoare triple {188#false} assume !(~i~0 >= 0); {188#false} is VALID [2022-04-27 10:16:58,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {188#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {188#false} is VALID [2022-04-27 10:16:58,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {188#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {188#false} is VALID [2022-04-27 10:16:58,446 INFO L272 TraceCheckUtils]: 13: Hoare triple {188#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {188#false} is VALID [2022-04-27 10:16:58,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {188#false} ~cond := #in~cond; {188#false} is VALID [2022-04-27 10:16:58,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {188#false} assume 0 == ~cond; {188#false} is VALID [2022-04-27 10:16:58,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {188#false} assume !false; {188#false} is VALID [2022-04-27 10:16:58,447 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,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:58,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307588235] [2022-04-27 10:16:58,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1307588235] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:58,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:58,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 10:16:58,448 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1291672046] [2022-04-27 10:16:58,448 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:58,450 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:58,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,465 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:58,466 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 10:16:58,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:58,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 10:16:58,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 10:16:58,467 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. Second operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,571 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2022-04-27 10:16:58,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 10:16:58,571 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:58,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 42 transitions. [2022-04-27 10:16:58,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 42 transitions. [2022-04-27 10:16:58,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 42 transitions. [2022-04-27 10:16:58,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:58,615 INFO L225 Difference]: With dead ends: 40 [2022-04-27 10:16:58,616 INFO L226 Difference]: Without dead ends: 25 [2022-04-27 10:16:58,616 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-27 10:16:58,618 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 19 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 28 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:58,618 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 28 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:16:58,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-04-27 10:16:58,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2022-04-27 10:16:58,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:58,632 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 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:58,632 INFO L74 IsIncluded]: Start isIncluded. First operand 25 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:58,632 INFO L87 Difference]: Start difference. First operand 25 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:58,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,634 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2022-04-27 10:16:58,634 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2022-04-27 10:16:58,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,634 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 25 states. [2022-04-27 10:16:58,635 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 25 states. [2022-04-27 10:16:58,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,636 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2022-04-27 10:16:58,636 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2022-04-27 10:16:58,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,637 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:58,637 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:58,637 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:58,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2022-04-27 10:16:58,639 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 17 [2022-04-27 10:16:58,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:58,639 INFO L495 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2022-04-27 10:16:58,639 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 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,639 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-27 10:16:58,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-04-27 10:16:58,640 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:58,640 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,640 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 10:16:58,640 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:58,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:58,641 INFO L85 PathProgramCache]: Analyzing trace with hash -1304082102, now seen corresponding path program 1 times [2022-04-27 10:16:58,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:58,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986328946] [2022-04-27 10:16:58,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:58,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:58,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,762 INFO L290 TraceCheckUtils]: 0: Hoare triple {347#(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); {339#true} is VALID [2022-04-27 10:16:58,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {339#true} assume true; {339#true} is VALID [2022-04-27 10:16:58,763 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {339#true} {339#true} #67#return; {339#true} is VALID [2022-04-27 10:16:58,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {339#true} call ULTIMATE.init(); {347#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:58,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {347#(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); {339#true} is VALID [2022-04-27 10:16:58,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {339#true} assume true; {339#true} is VALID [2022-04-27 10:16:58,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {339#true} {339#true} #67#return; {339#true} is VALID [2022-04-27 10:16:58,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {339#true} call #t~ret13 := main(); {339#true} is VALID [2022-04-27 10:16:58,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {339#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {344#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} is VALID [2022-04-27 10:16:58,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {344#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {345#(and (<= 5 main_~max~0) (<= (div main_~max~0 4294967296) 0) (= main_~i~0 0))} is VALID [2022-04-27 10:16:58,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {345#(and (<= 5 main_~max~0) (<= (div main_~max~0 4294967296) 0) (= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {346#(and (<= (+ main_~i~0 4) main_~max~0) (<= (div main_~max~0 4294967296) (div main_~i~0 4294967296)))} is VALID [2022-04-27 10:16:58,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {346#(and (<= (+ main_~i~0 4) main_~max~0) (<= (div main_~max~0 4294967296) (div main_~i~0 4294967296)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {340#false} is VALID [2022-04-27 10:16:58,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {340#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {340#false} is VALID [2022-04-27 10:16:58,768 INFO L290 TraceCheckUtils]: 10: Hoare triple {340#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {340#false} is VALID [2022-04-27 10:16:58,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {340#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {340#false} is VALID [2022-04-27 10:16:58,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {340#false} assume !(~i~0 >= 0); {340#false} is VALID [2022-04-27 10:16:58,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {340#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {340#false} is VALID [2022-04-27 10:16:58,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {340#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {340#false} is VALID [2022-04-27 10:16:58,769 INFO L272 TraceCheckUtils]: 15: Hoare triple {340#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {340#false} is VALID [2022-04-27 10:16:58,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {340#false} ~cond := #in~cond; {340#false} is VALID [2022-04-27 10:16:58,769 INFO L290 TraceCheckUtils]: 17: Hoare triple {340#false} assume 0 == ~cond; {340#false} is VALID [2022-04-27 10:16:58,770 INFO L290 TraceCheckUtils]: 18: Hoare triple {340#false} assume !false; {340#false} is VALID [2022-04-27 10:16:58,770 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:16:58,770 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:58,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986328946] [2022-04-27 10:16:58,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1986328946] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:16:58,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [599961882] [2022-04-27 10:16:58,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,771 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:16:58,771 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:58,775 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,794 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:58,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 10:16:58,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:16:59,015 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,222 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 54 treesize of output 49 [2022-04-27 10:16:59,234 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2022-04-27 10:16:59,242 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2022-04-27 10:16:59,339 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:00,129 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:00,130 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:00,132 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 10 [2022-04-27 10:17:00,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {339#true} call ULTIMATE.init(); {339#true} is VALID [2022-04-27 10:17:00,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {339#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); {339#true} is VALID [2022-04-27 10:17:00,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {339#true} assume true; {339#true} is VALID [2022-04-27 10:17:00,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {339#true} {339#true} #67#return; {339#true} is VALID [2022-04-27 10:17:00,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {339#true} call #t~ret13 := main(); {339#true} is VALID [2022-04-27 10:17:00,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {339#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:00,276 INFO L290 TraceCheckUtils]: 6: Hoare triple {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:00,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:00,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:00,278 INFO L290 TraceCheckUtils]: 9: Hoare triple {366#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {379#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:00,279 INFO L290 TraceCheckUtils]: 10: Hoare triple {379#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {383#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:00,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {383#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {387#(and (= |main_~#str2~0.offset| 0) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:00,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {387#(and (= |main_~#str2~0.offset| 0) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 >= 0); {391#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (mod (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:00,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {391#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (mod (+ main_~max~0 4294967295) 4294967296) 1))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {395#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< (mod main_~j~0 4294967296) 1) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:00,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {395#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< (mod main_~j~0 4294967296) 1) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) |main_~#str2~0.offset|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {399#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:00,285 INFO L272 TraceCheckUtils]: 15: Hoare triple {399#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {403#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:00,286 INFO L290 TraceCheckUtils]: 16: Hoare triple {403#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {407#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:00,286 INFO L290 TraceCheckUtils]: 17: Hoare triple {407#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {340#false} is VALID [2022-04-27 10:17:00,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {340#false} assume !false; {340#false} is VALID [2022-04-27 10:17:00,287 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:00,287 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:00,854 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-04-27 10:17:00,855 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 330 treesize of output 1 [2022-04-27 10:17:00,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {340#false} assume !false; {340#false} is VALID [2022-04-27 10:17:00,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {407#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {340#false} is VALID [2022-04-27 10:17:00,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {403#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {407#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:00,883 INFO L272 TraceCheckUtils]: 15: Hoare triple {399#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {403#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:00,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {426#(= (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 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {399#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:00,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {430#(and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {426#(= (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,887 INFO L290 TraceCheckUtils]: 12: Hoare triple {434#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 0 main_~i~0))} assume !(~i~0 >= 0); {430#(and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))))} is VALID [2022-04-27 10:17:00,888 INFO L290 TraceCheckUtils]: 11: Hoare triple {438#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {434#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:00,889 INFO L290 TraceCheckUtils]: 10: Hoare triple {442#(or (not (<= 0 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (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_~i~0 |main_~#str1~0.offset|))) (+ (mod (+ main_~max~0 4294967295) 4294967296) |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_~i~0 |main_~#str1~0.offset|)))) |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (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_~i~0 |main_~#str1~0.offset|))) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (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_~i~0 |main_~#str1~0.offset|)))) |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {438#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:00,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {339#true} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {442#(or (not (<= 0 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (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_~i~0 |main_~#str1~0.offset|))) (+ (mod (+ main_~max~0 4294967295) 4294967296) |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_~i~0 |main_~#str1~0.offset|)))) |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (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_~i~0 |main_~#str1~0.offset|))) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (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_~i~0 |main_~#str1~0.offset|)))) |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:00,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {339#true} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {339#true} is VALID [2022-04-27 10:17:00,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {339#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {339#true} is VALID [2022-04-27 10:17:00,893 INFO L290 TraceCheckUtils]: 6: Hoare triple {339#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {339#true} is VALID [2022-04-27 10:17:00,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {339#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {339#true} is VALID [2022-04-27 10:17:00,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {339#true} call #t~ret13 := main(); {339#true} is VALID [2022-04-27 10:17:00,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {339#true} {339#true} #67#return; {339#true} is VALID [2022-04-27 10:17:00,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {339#true} assume true; {339#true} is VALID [2022-04-27 10:17:00,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {339#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); {339#true} is VALID [2022-04-27 10:17:00,894 INFO L272 TraceCheckUtils]: 0: Hoare triple {339#true} call ULTIMATE.init(); {339#true} is VALID [2022-04-27 10:17:00,894 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:00,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [599961882] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:00,894 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:00,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 11, 10] total 20 [2022-04-27 10:17:00,895 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [411690699] [2022-04-27 10:17:00,895 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:00,896 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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 19 [2022-04-27 10:17:00,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:00,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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:00,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:00,940 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-27 10:17:00,940 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:00,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-27 10:17:00,942 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2022-04-27 10:17:00,942 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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:02,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:02,968 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-27 10:17:02,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-27 10:17:02,970 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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 19 [2022-04-27 10:17:02,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:02,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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:02,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2022-04-27 10:17:02,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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:02,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2022-04-27 10:17:02,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 68 transitions. [2022-04-27 10:17:03,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:03,083 INFO L225 Difference]: With dead ends: 61 [2022-04-27 10:17:03,083 INFO L226 Difference]: Without dead ends: 46 [2022-04-27 10:17:03,085 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 233 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=259, Invalid=1073, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 10:17:03,087 INFO L413 NwaCegarLoop]: 10 mSDtfsCounter, 48 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 294 mSolverCounterSat, 92 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 386 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 92 IncrementalHoareTripleChecker+Valid, 294 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:03,088 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 63 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [92 Valid, 294 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 10:17:03,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-27 10:17:03,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 35. [2022-04-27 10:17:03,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:03,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 35 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 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:03,120 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 35 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 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:03,120 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 35 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 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:03,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:03,123 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-27 10:17:03,123 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-27 10:17:03,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:03,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:03,124 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 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 46 states. [2022-04-27 10:17:03,125 INFO L87 Difference]: Start difference. First operand has 35 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 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 46 states. [2022-04-27 10:17:03,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:03,127 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-27 10:17:03,127 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-27 10:17:03,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:03,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:03,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:03,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:03,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 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:03,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-27 10:17:03,129 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 19 [2022-04-27 10:17:03,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:03,130 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-27 10:17:03,130 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 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:03,130 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-27 10:17:03,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 10:17:03,131 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:03,131 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:03,164 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:03,357 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:03,358 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:03,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:03,358 INFO L85 PathProgramCache]: Analyzing trace with hash 1139289350, now seen corresponding path program 2 times [2022-04-27 10:17:03,359 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:03,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [864440946] [2022-04-27 10:17:03,359 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:03,359 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:03,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:03,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:03,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:03,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {750#(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); {740#true} is VALID [2022-04-27 10:17:03,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-27 10:17:03,641 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {740#true} {740#true} #67#return; {740#true} is VALID [2022-04-27 10:17:03,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {740#true} call ULTIMATE.init(); {750#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:03,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {750#(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); {740#true} is VALID [2022-04-27 10:17:03,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-27 10:17:03,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {740#true} {740#true} #67#return; {740#true} is VALID [2022-04-27 10:17:03,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {740#true} call #t~ret13 := main(); {740#true} is VALID [2022-04-27 10:17:03,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {740#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:03,649 INFO L290 TraceCheckUtils]: 6: Hoare triple {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:03,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:03,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:03,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:03,651 INFO L290 TraceCheckUtils]: 10: Hoare triple {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:03,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {745#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {746#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:17:03,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {746#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {746#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:17:03,657 INFO L290 TraceCheckUtils]: 13: Hoare triple {746#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {747#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:17:03,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {747#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {748#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:03,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {748#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {749#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:03,663 INFO L290 TraceCheckUtils]: 16: Hoare triple {749#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} assume !(~i~0 >= 0); {741#false} is VALID [2022-04-27 10:17:03,664 INFO L290 TraceCheckUtils]: 17: Hoare triple {741#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {741#false} is VALID [2022-04-27 10:17:03,677 INFO L290 TraceCheckUtils]: 18: Hoare triple {741#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {741#false} is VALID [2022-04-27 10:17:03,677 INFO L272 TraceCheckUtils]: 19: Hoare triple {741#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {741#false} is VALID [2022-04-27 10:17:03,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {741#false} ~cond := #in~cond; {741#false} is VALID [2022-04-27 10:17:03,677 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#false} assume 0 == ~cond; {741#false} is VALID [2022-04-27 10:17:03,677 INFO L290 TraceCheckUtils]: 22: Hoare triple {741#false} assume !false; {741#false} is VALID [2022-04-27 10:17:03,678 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:03,678 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:03,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [864440946] [2022-04-27 10:17:03,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [864440946] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:03,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1567795977] [2022-04-27 10:17:03,678 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 10:17:03,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:03,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:03,682 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:03,683 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:03,747 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 10:17:03,747 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:03,750 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-27 10:17:03,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:03,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:03,786 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:04,108 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 19 treesize of output 19 [2022-04-27 10:17:06,172 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:06,178 INFO L356 Elim1Store]: treesize reduction 12, result has 20.0 percent of original size [2022-04-27 10:17:06,179 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 13 [2022-04-27 10:17:06,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {740#true} call ULTIMATE.init(); {740#true} is VALID [2022-04-27 10:17:06,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#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); {740#true} is VALID [2022-04-27 10:17:06,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-27 10:17:06,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {740#true} {740#true} #67#return; {740#true} is VALID [2022-04-27 10:17:06,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {740#true} call #t~ret13 := main(); {740#true} is VALID [2022-04-27 10:17:06,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {740#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,665 INFO L290 TraceCheckUtils]: 10: Hoare triple {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {769#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {769#(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 + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {788#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:06,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {788#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {792#(and (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:06,667 INFO L290 TraceCheckUtils]: 13: Hoare triple {792#(and (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {796#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:06,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {796#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {800#(and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:17:06,669 INFO L290 TraceCheckUtils]: 15: Hoare triple {800#(and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {804#(and (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 (mod (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:17:06,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {804#(and (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 (mod (+ main_~max~0 4294967295) 4294967296)))} assume !(~i~0 >= 0); {808#(and (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< (mod (+ main_~max~0 4294967295) 4294967296) 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 (mod (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:17:06,673 INFO L290 TraceCheckUtils]: 17: Hoare triple {808#(and (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< (mod (+ main_~max~0 4294967295) 4294967296) 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 (mod (+ main_~max~0 4294967295) 4294967296)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {812#(and (< (div (+ (- 1) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 1) 4294967296) 1)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:17:06,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {812#(and (< (div (+ (- 1) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 1) 4294967296) 1)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {816#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:06,676 INFO L272 TraceCheckUtils]: 19: Hoare triple {816#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:06,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:06,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {741#false} is VALID [2022-04-27 10:17:06,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {741#false} assume !false; {741#false} is VALID [2022-04-27 10:17:06,677 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:06,677 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:07,046 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:07,047 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 80 treesize of output 76 [2022-04-27 10:17:07,183 INFO L356 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2022-04-27 10:17:07,184 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 22 treesize of output 21 [2022-04-27 10:17:07,197 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 36 treesize of output 28 [2022-04-27 10:17:07,227 INFO L356 Elim1Store]: treesize reduction 27, result has 34.1 percent of original size [2022-04-27 10:17:07,227 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 48 treesize of output 45 [2022-04-27 10:17:07,269 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:07,270 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 82 treesize of output 78 [2022-04-27 10:17:07,371 INFO L356 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2022-04-27 10:17:07,372 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 23 treesize of output 22 [2022-04-27 10:17:07,385 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 39 treesize of output 30 [2022-04-27 10:17:07,417 INFO L356 Elim1Store]: treesize reduction 27, result has 37.2 percent of original size [2022-04-27 10:17:07,417 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 51 treesize of output 49 [2022-04-27 10:17:07,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {741#false} assume !false; {741#false} is VALID [2022-04-27 10:17:07,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {741#false} is VALID [2022-04-27 10:17:07,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:07,780 INFO L272 TraceCheckUtils]: 19: Hoare triple {816#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:07,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {843#(= (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 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {816#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:07,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {847#(and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {843#(= (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,783 INFO L290 TraceCheckUtils]: 16: Hoare triple {851#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 0 main_~i~0))} assume !(~i~0 >= 0); {847#(and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))))} is VALID [2022-04-27 10:17:07,784 INFO L290 TraceCheckUtils]: 15: Hoare triple {855#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {851#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:07,786 INFO L290 TraceCheckUtils]: 14: Hoare triple {859#(or (not (<= 0 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (<= 1 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {855#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:07,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {863#(or (<= 2 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (not (<= 1 main_~i~0)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {859#(or (not (<= 0 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:07,788 INFO L290 TraceCheckUtils]: 12: Hoare triple {867#(or (<= 2 main_~i~0) (and (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))) (not (<= 1 main_~i~0)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {863#(or (<= 2 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:17:07,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {740#true} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {867#(or (<= 2 main_~i~0) (and (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:17:07,789 INFO L290 TraceCheckUtils]: 10: Hoare triple {740#true} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {740#true} is VALID [2022-04-27 10:17:07,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {740#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {740#true} is VALID [2022-04-27 10:17:07,790 INFO L290 TraceCheckUtils]: 8: Hoare triple {740#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {740#true} is VALID [2022-04-27 10:17:07,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {740#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {740#true} is VALID [2022-04-27 10:17:07,790 INFO L290 TraceCheckUtils]: 6: Hoare triple {740#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {740#true} is VALID [2022-04-27 10:17:07,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {740#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {740#true} is VALID [2022-04-27 10:17:07,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {740#true} call #t~ret13 := main(); {740#true} is VALID [2022-04-27 10:17:07,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {740#true} {740#true} #67#return; {740#true} is VALID [2022-04-27 10:17:07,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-27 10:17:07,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#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); {740#true} is VALID [2022-04-27 10:17:07,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {740#true} call ULTIMATE.init(); {740#true} is VALID [2022-04-27 10:17:07,791 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:07,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1567795977] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:07,791 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:07,791 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 13, 12] total 26 [2022-04-27 10:17:07,792 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1857964008] [2022-04-27 10:17:07,792 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:07,792 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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 23 [2022-04-27 10:17:07,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:07,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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:07,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:07,850 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-27 10:17:07,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:07,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-27 10:17:07,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=557, Unknown=0, NotChecked=0, Total=650 [2022-04-27 10:17:07,851 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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:10,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:10,705 INFO L93 Difference]: Finished difference Result 69 states and 78 transitions. [2022-04-27 10:17:10,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 10:17:10,705 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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 23 [2022-04-27 10:17:10,706 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:10,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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:10,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 70 transitions. [2022-04-27 10:17:10,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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:10,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 70 transitions. [2022-04-27 10:17:10,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 70 transitions. [2022-04-27 10:17:10,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:10,806 INFO L225 Difference]: With dead ends: 69 [2022-04-27 10:17:10,806 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 10:17:10,807 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 358 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=378, Invalid=1692, Unknown=0, NotChecked=0, Total=2070 [2022-04-27 10:17:10,808 INFO L413 NwaCegarLoop]: 10 mSDtfsCounter, 70 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 382 mSolverCounterSat, 145 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 527 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 145 IncrementalHoareTripleChecker+Valid, 382 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:10,809 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [70 Valid, 78 Invalid, 527 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [145 Valid, 382 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 10:17:10,809 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 10:17:10,864 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 41. [2022-04-27 10:17:10,864 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:10,864 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 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:10,865 INFO L74 IsIncluded]: Start isIncluded. First operand 51 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:10,865 INFO L87 Difference]: Start difference. First operand 51 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:10,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:10,867 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2022-04-27 10:17:10,867 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2022-04-27 10:17:10,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:10,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:10,868 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 51 states. [2022-04-27 10:17:10,868 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 51 states. [2022-04-27 10:17:10,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:10,870 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2022-04-27 10:17:10,871 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2022-04-27 10:17:10,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:10,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:10,871 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:10,871 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:10,872 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:10,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-27 10:17:10,873 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 23 [2022-04-27 10:17:10,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:10,873 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-27 10:17:10,874 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 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:10,874 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-27 10:17:10,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 10:17:10,875 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:10,875 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:10,898 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 10:17:11,091 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-27 10:17:11,092 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:11,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:11,092 INFO L85 PathProgramCache]: Analyzing trace with hash -1888398848, now seen corresponding path program 3 times [2022-04-27 10:17:11,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:11,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6926046] [2022-04-27 10:17:11,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:11,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:11,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:11,249 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:11,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:11,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {1218#(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); {1209#true} is VALID [2022-04-27 10:17:11,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {1209#true} assume true; {1209#true} is VALID [2022-04-27 10:17:11,260 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1209#true} {1209#true} #67#return; {1209#true} is VALID [2022-04-27 10:17:11,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {1209#true} call ULTIMATE.init(); {1218#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:11,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {1218#(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); {1209#true} is VALID [2022-04-27 10:17:11,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {1209#true} assume true; {1209#true} is VALID [2022-04-27 10:17:11,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1209#true} {1209#true} #67#return; {1209#true} is VALID [2022-04-27 10:17:11,261 INFO L272 TraceCheckUtils]: 4: Hoare triple {1209#true} call #t~ret13 := main(); {1209#true} is VALID [2022-04-27 10:17:11,262 INFO L290 TraceCheckUtils]: 5: Hoare triple {1209#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {1214#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} is VALID [2022-04-27 10:17:11,263 INFO L290 TraceCheckUtils]: 6: Hoare triple {1214#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1215#(and (<= 5 main_~max~0) (<= (div main_~max~0 4294967296) 0) (= main_~i~0 0))} is VALID [2022-04-27 10:17:11,263 INFO L290 TraceCheckUtils]: 7: Hoare triple {1215#(and (<= 5 main_~max~0) (<= (div main_~max~0 4294967296) 0) (= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1216#(and (<= (div main_~max~0 4294967296) 0) (<= (+ main_~i~0 4) main_~max~0) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:11,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {1216#(and (<= (div main_~max~0 4294967296) 0) (<= (+ main_~i~0 4) main_~max~0) (<= 1 main_~i~0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1216#(and (<= (div main_~max~0 4294967296) 0) (<= (+ main_~i~0 4) main_~max~0) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:11,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {1216#(and (<= (div main_~max~0 4294967296) 0) (<= (+ main_~i~0 4) main_~max~0) (<= 1 main_~i~0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1217#(and (<= (+ main_~i~0 3) main_~max~0) (<= (div main_~max~0 4294967296) (div main_~i~0 4294967296)))} is VALID [2022-04-27 10:17:11,265 INFO L290 TraceCheckUtils]: 10: Hoare triple {1217#(and (<= (+ main_~i~0 3) main_~max~0) (<= (div main_~max~0 4294967296) (div main_~i~0 4294967296)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {1210#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 12: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 16: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 22: Hoare triple {1210#false} assume !(~i~0 >= 0); {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {1210#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {1210#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L272 TraceCheckUtils]: 25: Hoare triple {1210#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 26: Hoare triple {1210#false} ~cond := #in~cond; {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {1210#false} assume 0 == ~cond; {1210#false} is VALID [2022-04-27 10:17:11,267 INFO L290 TraceCheckUtils]: 28: Hoare triple {1210#false} assume !false; {1210#false} is VALID [2022-04-27 10:17:11,268 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:17:11,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:11,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [6926046] [2022-04-27 10:17:11,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [6926046] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:11,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1054403391] [2022-04-27 10:17:11,268 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 10:17:11,268 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:11,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:11,269 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:11,271 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:11,353 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 10:17:11,354 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:11,355 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 10:17:11,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:11,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:11,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {1209#true} call ULTIMATE.init(); {1209#true} is VALID [2022-04-27 10:17:11,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {1209#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); {1209#true} is VALID [2022-04-27 10:17:11,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {1209#true} assume true; {1209#true} is VALID [2022-04-27 10:17:11,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1209#true} {1209#true} #67#return; {1209#true} is VALID [2022-04-27 10:17:11,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {1209#true} call #t~ret13 := main(); {1209#true} is VALID [2022-04-27 10:17:11,678 INFO L290 TraceCheckUtils]: 5: Hoare triple {1209#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {1214#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} is VALID [2022-04-27 10:17:11,678 INFO L290 TraceCheckUtils]: 6: Hoare triple {1214#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1214#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} is VALID [2022-04-27 10:17:11,679 INFO L290 TraceCheckUtils]: 7: Hoare triple {1214#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1243#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-27 10:17:11,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {1243#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= (+ (- 1) main_~i~0) 0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1243#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-27 10:17:11,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {1243#(and (<= 5 main_~max~0) (<= main_~max~0 5) (= (+ (- 1) main_~i~0) 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1250#(and (= (+ (- 2) main_~i~0) 0) (<= 5 main_~max~0) (<= main_~max~0 5))} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 10: Hoare triple {1250#(and (= (+ (- 2) main_~i~0) 0) (<= 5 main_~max~0) (<= main_~max~0 5))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 11: Hoare triple {1210#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 16: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,681 INFO L290 TraceCheckUtils]: 17: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 21: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 22: Hoare triple {1210#false} assume !(~i~0 >= 0); {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 23: Hoare triple {1210#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 24: Hoare triple {1210#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L272 TraceCheckUtils]: 25: Hoare triple {1210#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 26: Hoare triple {1210#false} ~cond := #in~cond; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {1210#false} assume 0 == ~cond; {1210#false} is VALID [2022-04-27 10:17:11,682 INFO L290 TraceCheckUtils]: 28: Hoare triple {1210#false} assume !false; {1210#false} is VALID [2022-04-27 10:17:11,683 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:17:11,683 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:11,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {1210#false} assume !false; {1210#false} is VALID [2022-04-27 10:17:11,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {1210#false} assume 0 == ~cond; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 26: Hoare triple {1210#false} ~cond := #in~cond; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L272 TraceCheckUtils]: 25: Hoare triple {1210#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 24: Hoare triple {1210#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 23: Hoare triple {1210#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {1210#false} assume !(~i~0 >= 0); {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 20: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 19: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 18: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,851 INFO L290 TraceCheckUtils]: 16: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,851 INFO L290 TraceCheckUtils]: 15: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {1210#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1210#false} is VALID [2022-04-27 10:17:11,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {1210#false} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1210#false} is VALID [2022-04-27 10:17:11,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {1210#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {1210#false} is VALID [2022-04-27 10:17:11,857 INFO L290 TraceCheckUtils]: 10: Hoare triple {1362#(< (mod main_~i~0 4294967296) (mod main_~max~0 4294967296))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {1210#false} is VALID [2022-04-27 10:17:11,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {1366#(< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1362#(< (mod main_~i~0 4294967296) (mod main_~max~0 4294967296))} is VALID [2022-04-27 10:17:11,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {1370#(or (< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296)) (not (< (mod main_~i~0 4294967296) (mod main_~max~0 4294967296))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1366#(< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296))} is VALID [2022-04-27 10:17:11,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {1374#(or (not (< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296))) (< (mod (+ main_~i~0 2) 4294967296) (mod main_~max~0 4294967296)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1370#(or (< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296)) (not (< (mod main_~i~0 4294967296) (mod main_~max~0 4294967296))))} is VALID [2022-04-27 10:17:11,862 INFO L290 TraceCheckUtils]: 6: Hoare triple {1374#(or (not (< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296))) (< (mod (+ main_~i~0 2) 4294967296) (mod main_~max~0 4294967296)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1374#(or (not (< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296))) (< (mod (+ main_~i~0 2) 4294967296) (mod main_~max~0 4294967296)))} is VALID [2022-04-27 10:17:11,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {1209#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {1374#(or (not (< (mod (+ main_~i~0 1) 4294967296) (mod main_~max~0 4294967296))) (< (mod (+ main_~i~0 2) 4294967296) (mod main_~max~0 4294967296)))} is VALID [2022-04-27 10:17:11,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {1209#true} call #t~ret13 := main(); {1209#true} is VALID [2022-04-27 10:17:11,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1209#true} {1209#true} #67#return; {1209#true} is VALID [2022-04-27 10:17:11,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {1209#true} assume true; {1209#true} is VALID [2022-04-27 10:17:11,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {1209#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); {1209#true} is VALID [2022-04-27 10:17:11,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {1209#true} call ULTIMATE.init(); {1209#true} is VALID [2022-04-27 10:17:11,864 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:17:11,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1054403391] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:11,864 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:11,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 6] total 13 [2022-04-27 10:17:11,865 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1979442367] [2022-04-27 10:17:11,865 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:11,865 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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 29 [2022-04-27 10:17:11,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:11,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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:11,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:11,891 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 10:17:11,891 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:11,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 10:17:11,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=101, Unknown=0, NotChecked=0, Total=156 [2022-04-27 10:17:11,892 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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:12,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:12,380 INFO L93 Difference]: Finished difference Result 77 states and 87 transitions. [2022-04-27 10:17:12,380 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 10:17:12,380 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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 29 [2022-04-27 10:17:12,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:12,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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:12,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-27 10:17:12,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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:12,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-27 10:17:12,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-27 10:17:12,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:12,444 INFO L225 Difference]: With dead ends: 77 [2022-04-27 10:17:12,444 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 10:17:12,444 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 52 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=116, Invalid=264, Unknown=0, NotChecked=0, Total=380 [2022-04-27 10:17:12,447 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 29 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 138 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:12,448 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 44 Invalid, 138 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:17:12,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 10:17:12,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-27 10:17:12,525 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:12,526 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 40 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:12,526 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 40 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:12,526 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 40 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:12,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:12,528 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-27 10:17:12,528 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-27 10:17:12,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:12,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:12,532 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 40 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 47 states. [2022-04-27 10:17:12,533 INFO L87 Difference]: Start difference. First operand has 47 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 40 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 47 states. [2022-04-27 10:17:12,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:12,535 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-27 10:17:12,535 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-27 10:17:12,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:12,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:12,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:12,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:12,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 40 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:12,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2022-04-27 10:17:12,541 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 29 [2022-04-27 10:17:12,541 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:12,541 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2022-04-27 10:17:12,541 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 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:12,541 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-27 10:17:12,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-27 10:17:12,542 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:12,542 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:12,559 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:12,747 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:12,748 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:12,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:12,748 INFO L85 PathProgramCache]: Analyzing trace with hash 606667834, now seen corresponding path program 4 times [2022-04-27 10:17:12,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:12,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381107119] [2022-04-27 10:17:12,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:12,748 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:12,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:13,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:13,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:13,876 INFO L290 TraceCheckUtils]: 0: Hoare triple {1709#(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); {1686#true} is VALID [2022-04-27 10:17:13,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {1686#true} assume true; {1686#true} is VALID [2022-04-27 10:17:13,877 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1686#true} {1686#true} #67#return; {1686#true} is VALID [2022-04-27 10:17:13,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {1686#true} call ULTIMATE.init(); {1709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:13,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {1709#(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); {1686#true} is VALID [2022-04-27 10:17:13,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {1686#true} assume true; {1686#true} is VALID [2022-04-27 10:17:13,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1686#true} {1686#true} #67#return; {1686#true} is VALID [2022-04-27 10:17:13,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {1686#true} call #t~ret13 := main(); {1686#true} is VALID [2022-04-27 10:17:13,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {1686#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {1691#(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:13,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {1691#(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 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1691#(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:13,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(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~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1692#(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:13,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {1692#(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 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1692#(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:13,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {1692#(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))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1693#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~i~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:13,882 INFO L290 TraceCheckUtils]: 10: Hoare triple {1693#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~i~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1693#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~i~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:13,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {1693#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~i~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1694#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 3 main_~i~0) (<= main_~i~0 3))} is VALID [2022-04-27 10:17:13,883 INFO L290 TraceCheckUtils]: 12: Hoare triple {1694#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 3 main_~i~0) (<= main_~i~0 3))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1694#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 3 main_~i~0) (<= main_~i~0 3))} is VALID [2022-04-27 10:17:13,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 3 main_~i~0) (<= main_~i~0 3))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1695#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 4) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 main_~i~0))} is VALID [2022-04-27 10:17:13,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 4) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 main_~i~0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1695#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 4) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 main_~i~0))} is VALID [2022-04-27 10:17:13,885 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 4) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 main_~i~0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1696#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {1696#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {1696#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {1696#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {1697#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:17:13,888 INFO L290 TraceCheckUtils]: 18: Hoare triple {1697#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1698#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ main_~j~0 3 |main_~#str1~0.offset|) (+ |main_~#str1~0.offset| 4)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:17:13,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {1698#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ main_~j~0 3 |main_~#str1~0.offset|) (+ |main_~#str1~0.offset| 4)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1699#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 3 |main_~#str1~0.offset|)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 3 |main_~#str1~0.offset|)) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {1699#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 3 |main_~#str1~0.offset|)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 3 |main_~#str1~0.offset|)) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1700#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 2 |main_~#str1~0.offset|))) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 2 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {1700#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 2 |main_~#str1~0.offset|))) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 2 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1699#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 3 |main_~#str1~0.offset|)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 3 |main_~#str1~0.offset|)) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {1699#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 3 |main_~#str1~0.offset|)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 3 |main_~#str1~0.offset|)) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1700#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 2 |main_~#str1~0.offset|))) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 2 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {1700#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 2 |main_~#str1~0.offset|))) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 2 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1699#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 3 |main_~#str1~0.offset|)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 3 |main_~#str1~0.offset|)) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {1699#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 3 |main_~#str1~0.offset|)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (and (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 3 |main_~#str1~0.offset|)) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1700#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 2 |main_~#str1~0.offset|))) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 2 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,900 INFO L290 TraceCheckUtils]: 25: Hoare triple {1700#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 2 |main_~#str1~0.offset|) (+ main_~j~0 2 |main_~#str1~0.offset|))) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset| 4294967298) (+ main_~j~0 2 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1701#(and (= |main_~#str2~0.offset| 0) (or (not (= (+ main_~i~0 |main_~#str1~0.offset|) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~j~0 |main_~#str2~0.offset|) (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|))) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ main_~j~0 |main_~#str2~0.offset|) (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {1701#(and (= |main_~#str2~0.offset| 0) (or (not (= (+ main_~i~0 |main_~#str1~0.offset|) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~j~0 |main_~#str2~0.offset|) (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|))) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ main_~j~0 |main_~#str2~0.offset|) (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1702#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (= (+ main_~i~0 |main_~#str1~0.offset|) 0)) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))))) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,904 INFO L290 TraceCheckUtils]: 27: Hoare triple {1702#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (= (+ main_~i~0 |main_~#str1~0.offset|) 0)) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))))) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1703#(and (= |main_~#str2~0.offset| 0) (or (<= 0 (+ main_~i~0 |main_~#str1~0.offset|)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|)))) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|))))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 0 (+ main_~i~0 1)))} is VALID [2022-04-27 10:17:13,905 INFO L290 TraceCheckUtils]: 28: Hoare triple {1703#(and (= |main_~#str2~0.offset| 0) (or (<= 0 (+ main_~i~0 |main_~#str1~0.offset|)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|)))) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|))))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 0 (+ main_~i~0 1)))} assume !(~i~0 >= 0); {1704#(and (= |main_~#str2~0.offset| 0) (or (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|)))) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|))))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:13,906 INFO L290 TraceCheckUtils]: 29: Hoare triple {1704#(and (= |main_~#str2~0.offset| 0) (or (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295 |main_~#str1~0.offset|)))) (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str1~0.base|) 0) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 |main_~#str1~0.offset|))))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {1705#(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|)))} is VALID [2022-04-27 10:17:13,907 INFO L290 TraceCheckUtils]: 30: Hoare triple {1705#(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|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1706#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:13,908 INFO L272 TraceCheckUtils]: 31: Hoare triple {1706#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:17:13,908 INFO L290 TraceCheckUtils]: 32: Hoare triple {1707#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1708#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:17:13,908 INFO L290 TraceCheckUtils]: 33: Hoare triple {1708#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1687#false} is VALID [2022-04-27 10:17:13,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {1687#false} assume !false; {1687#false} is VALID [2022-04-27 10:17:13,909 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 10:17:13,909 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:13,909 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [381107119] [2022-04-27 10:17:13,909 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [381107119] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:13,909 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [374518463] [2022-04-27 10:17:13,910 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 10:17:13,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:13,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:13,911 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:13,917 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:13,988 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 10:17:13,988 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:13,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 10:17:14,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:14,006 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:14,027 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:14,717 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 19 treesize of output 19 [2022-04-27 10:17:16,798 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:16,804 INFO L356 Elim1Store]: treesize reduction 15, result has 16.7 percent of original size [2022-04-27 10:17:16,804 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 13 [2022-04-27 10:17:17,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {1686#true} call ULTIMATE.init(); {1686#true} is VALID [2022-04-27 10:17:17,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {1686#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); {1686#true} is VALID [2022-04-27 10:17:17,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {1686#true} assume true; {1686#true} is VALID [2022-04-27 10:17:17,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1686#true} {1686#true} #67#return; {1686#true} is VALID [2022-04-27 10:17:17,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {1686#true} call #t~ret13 := main(); {1686#true} is VALID [2022-04-27 10:17:17,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {1686#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,421 INFO L290 TraceCheckUtils]: 10: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {1728#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {1728#(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 + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {1765#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:17,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {1765#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1769#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:17,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {1769#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1773#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {1773#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1777#(and (= (+ (- 2) main_~j~0) 0) (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,430 INFO L290 TraceCheckUtils]: 21: Hoare triple {1777#(and (= (+ (- 2) main_~j~0) 0) (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1781#(and (= (+ (- 2) main_~j~0) 0) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {1781#(and (= (+ (- 2) main_~j~0) 0) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1785#(and (= (+ main_~j~0 (- 3)) 0) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {1785#(and (= (+ main_~j~0 (- 3)) 0) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1789#(and (= (+ main_~j~0 (- 3)) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:17,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {1789#(and (= (+ main_~j~0 (- 3)) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1793#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 4) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:17,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {1793#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 4) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1797#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 4) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 4) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,437 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 4) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 4) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1801#(and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= 0 main_~i~0) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:17,438 INFO L290 TraceCheckUtils]: 27: Hoare triple {1801#(and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= 0 main_~i~0) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1805#(and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4)) (+ main_~i~0 1)) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 (mod (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:17:17,439 INFO L290 TraceCheckUtils]: 28: Hoare triple {1805#(and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4)) (+ main_~i~0 1)) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 (mod (+ main_~max~0 4294967295) 4294967296)))} assume !(~i~0 >= 0); {1809#(and (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= |main_~#str1~0.offset| 0) (< (mod (+ main_~max~0 4294967295) 4294967296) 5) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 (mod (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:17:17,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {1809#(and (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= |main_~#str1~0.offset| 0) (< (mod (+ main_~max~0 4294967295) 4294967296) 5) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 4 (mod (+ main_~max~0 4294967295) 4294967296)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {1813#(and (< (div main_~j~0 (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div (+ main_~j~0 (- 4)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)))} is VALID [2022-04-27 10:17:17,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {1813#(and (< (div main_~j~0 (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div (+ main_~j~0 (- 4)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1706#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:17,446 INFO L272 TraceCheckUtils]: 31: Hoare triple {1706#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:17,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {1820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:17,447 INFO L290 TraceCheckUtils]: 33: Hoare triple {1824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1687#false} is VALID [2022-04-27 10:17:17,447 INFO L290 TraceCheckUtils]: 34: Hoare triple {1687#false} assume !false; {1687#false} is VALID [2022-04-27 10:17:17,447 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:17:17,447 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:17,846 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:17,847 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 80 treesize of output 76 [2022-04-27 10:17:17,951 INFO L356 Elim1Store]: treesize reduction 27, result has 34.1 percent of original size [2022-04-27 10:17:17,952 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 48 treesize of output 45 [2022-04-27 10:17:17,985 INFO L356 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2022-04-27 10:17:17,986 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 22 treesize of output 1 [2022-04-27 10:17:18,014 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:18,014 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 82 treesize of output 78 [2022-04-27 10:17:18,121 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:17:18,121 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 43 treesize of output 42 [2022-04-27 10:17:18,151 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 25 treesize of output 17 [2022-04-27 10:17:18,161 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 39 treesize of output 30 [2022-04-27 10:17:18,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {1687#false} assume !false; {1687#false} is VALID [2022-04-27 10:17:18,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {1824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1687#false} is VALID [2022-04-27 10:17:18,941 INFO L290 TraceCheckUtils]: 32: Hoare triple {1820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:18,941 INFO L272 TraceCheckUtils]: 31: Hoare triple {1706#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:18,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {1843#(= (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 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1706#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:18,943 INFO L290 TraceCheckUtils]: 29: Hoare triple {1847#(and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {1843#(= (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:18,943 INFO L290 TraceCheckUtils]: 28: Hoare triple {1851#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 0 main_~i~0))} assume !(~i~0 >= 0); {1847#(and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))))} is VALID [2022-04-27 10:17:18,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {1855#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1851#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:18,945 INFO L290 TraceCheckUtils]: 26: Hoare triple {1859#(or (not (<= 0 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (<= 1 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1855#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967296))) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:18,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {1863#(or (<= 2 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (not (<= 1 main_~i~0)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1859#(or (not (<= 0 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:18,947 INFO L290 TraceCheckUtils]: 24: Hoare triple {1867#(or (<= 2 main_~i~0) (and (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))) (not (<= 1 main_~i~0)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1863#(or (<= 2 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~j~0)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:17:18,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {1871#(or (not (<= 2 main_~i~0)) (and (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))) (<= 3 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1867#(or (<= 2 main_~i~0) (and (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:17:18,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {1875#(or (not (<= 2 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)))) (<= 3 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1871#(or (not (<= 2 main_~i~0)) (and (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))) (<= 3 main_~i~0))} is VALID [2022-04-27 10:17:18,950 INFO L290 TraceCheckUtils]: 21: Hoare triple {1879#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)))) (not (<= 3 main_~i~0)) (<= 4 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1875#(or (not (<= 2 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)))) (<= 3 main_~i~0))} is VALID [2022-04-27 10:17:18,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {1883#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)))) (not (<= 3 main_~i~0)) (<= 4 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1879#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)))) (not (<= 3 main_~i~0)) (<= 4 main_~i~0))} is VALID [2022-04-27 10:17:18,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {1887#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)))) (not (<= 4 main_~i~0)) (<= 5 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {1883#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)))) (not (<= 3 main_~i~0)) (<= 4 main_~i~0))} is VALID [2022-04-27 10:17:18,953 INFO L290 TraceCheckUtils]: 18: Hoare triple {1891#(or (not (<= 4 main_~i~0)) (and (or (= (+ main_~j~0 4294967300) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4)))) (<= 5 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1887#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)))) (not (<= 4 main_~i~0)) (<= 5 main_~i~0))} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 17: Hoare triple {1686#true} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {1891#(or (not (<= 4 main_~i~0)) (and (or (= (+ main_~j~0 4294967300) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4)))) (<= 5 main_~i~0))} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 16: Hoare triple {1686#true} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 15: Hoare triple {1686#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {1686#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {1686#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 12: Hoare triple {1686#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 11: Hoare triple {1686#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 10: Hoare triple {1686#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 9: Hoare triple {1686#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {1686#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {1686#true} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 6: Hoare triple {1686#true} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {1686#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {1686#true} is VALID [2022-04-27 10:17:18,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {1686#true} call #t~ret13 := main(); {1686#true} is VALID [2022-04-27 10:17:18,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1686#true} {1686#true} #67#return; {1686#true} is VALID [2022-04-27 10:17:18,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {1686#true} assume true; {1686#true} is VALID [2022-04-27 10:17:18,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {1686#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); {1686#true} is VALID [2022-04-27 10:17:18,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {1686#true} call ULTIMATE.init(); {1686#true} is VALID [2022-04-27 10:17:18,955 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:17:18,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [374518463] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:18,955 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:18,956 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 18] total 50 [2022-04-27 10:17:18,956 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1122412679] [2022-04-27 10:17:18,956 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:18,957 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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 35 [2022-04-27 10:17:18,957 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:18,957 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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:19,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:19,066 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 50 states [2022-04-27 10:17:19,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:19,066 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2022-04-27 10:17:19,067 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=303, Invalid=2147, Unknown=0, NotChecked=0, Total=2450 [2022-04-27 10:17:19,068 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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:35,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:35,505 INFO L93 Difference]: Finished difference Result 147 states and 174 transitions. [2022-04-27 10:17:35,505 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-04-27 10:17:35,506 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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 35 [2022-04-27 10:17:35,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:35,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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:35,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 168 transitions. [2022-04-27 10:17:35,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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:35,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 168 transitions. [2022-04-27 10:17:35,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 168 transitions. [2022-04-27 10:17:35,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:35,762 INFO L225 Difference]: With dead ends: 147 [2022-04-27 10:17:35,762 INFO L226 Difference]: Without dead ends: 145 [2022-04-27 10:17:35,765 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 42 SyntacticMatches, 5 SemanticMatches, 118 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3632 ImplicationChecksByTransitivity, 8.9s TimeCoverageRelationStatistics Valid=2087, Invalid=12193, Unknown=0, NotChecked=0, Total=14280 [2022-04-27 10:17:35,765 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 351 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 1931 mSolverCounterSat, 784 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 351 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 2715 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 784 IncrementalHoareTripleChecker+Valid, 1931 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.4s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:35,766 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [351 Valid, 122 Invalid, 2715 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [784 Valid, 1931 Invalid, 0 Unknown, 0 Unchecked, 4.4s Time] [2022-04-27 10:17:35,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2022-04-27 10:17:35,851 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 42. [2022-04-27 10:17:35,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:35,852 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand has 42 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:35,852 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand has 42 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:35,852 INFO L87 Difference]: Start difference. First operand 145 states. Second operand has 42 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:35,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:35,859 INFO L93 Difference]: Finished difference Result 145 states and 172 transitions. [2022-04-27 10:17:35,859 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 172 transitions. [2022-04-27 10:17:35,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:35,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:35,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 145 states. [2022-04-27 10:17:35,860 INFO L87 Difference]: Start difference. First operand has 42 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 145 states. [2022-04-27 10:17:35,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:35,866 INFO L93 Difference]: Finished difference Result 145 states and 172 transitions. [2022-04-27 10:17:35,866 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 172 transitions. [2022-04-27 10:17:35,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:35,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:35,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:35,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:35,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:35,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 44 transitions. [2022-04-27 10:17:35,868 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 44 transitions. Word has length 35 [2022-04-27 10:17:35,869 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:35,869 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 44 transitions. [2022-04-27 10:17:35,869 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 50 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 47 states have internal predecessors, (67), 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:35,869 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 44 transitions. [2022-04-27 10:17:35,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 10:17:35,870 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:35,870 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 3, 3, 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:35,890 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 10:17:36,083 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:36,083 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:36,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:36,084 INFO L85 PathProgramCache]: Analyzing trace with hash -585686760, now seen corresponding path program 1 times [2022-04-27 10:17:36,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:36,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [837635386] [2022-04-27 10:17:36,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:36,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:36,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:36,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:36,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:36,352 INFO L290 TraceCheckUtils]: 0: Hoare triple {2668#(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); {2653#true} is VALID [2022-04-27 10:17:36,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:17:36,353 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2653#true} {2653#true} #67#return; {2653#true} is VALID [2022-04-27 10:17:36,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 10:17:36,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:36,357 INFO L290 TraceCheckUtils]: 0: Hoare triple {2653#true} ~cond := #in~cond; {2653#true} is VALID [2022-04-27 10:17:36,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {2653#true} assume !(0 == ~cond); {2653#true} is VALID [2022-04-27 10:17:36,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:17:36,357 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2653#true} {2654#false} #65#return; {2654#false} is VALID [2022-04-27 10:17:36,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {2653#true} call ULTIMATE.init(); {2668#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:36,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {2668#(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); {2653#true} is VALID [2022-04-27 10:17:36,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:17:36,358 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2653#true} {2653#true} #67#return; {2653#true} is VALID [2022-04-27 10:17:36,358 INFO L272 TraceCheckUtils]: 4: Hoare triple {2653#true} call #t~ret13 := main(); {2653#true} is VALID [2022-04-27 10:17:36,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {2653#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,360 INFO L290 TraceCheckUtils]: 6: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,360 INFO L290 TraceCheckUtils]: 7: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,362 INFO L290 TraceCheckUtils]: 10: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,362 INFO L290 TraceCheckUtils]: 11: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,363 INFO L290 TraceCheckUtils]: 12: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,363 INFO L290 TraceCheckUtils]: 13: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,364 INFO L290 TraceCheckUtils]: 14: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,364 INFO L290 TraceCheckUtils]: 15: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,365 INFO L290 TraceCheckUtils]: 16: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:17:36,366 INFO L290 TraceCheckUtils]: 17: Hoare triple {2658#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {2659#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:17:36,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {2659#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2659#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:17:36,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {2659#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2660#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:17:36,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {2660#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2660#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:17:36,369 INFO L290 TraceCheckUtils]: 21: Hoare triple {2660#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2661#(or (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~i~0 3) 0))} is VALID [2022-04-27 10:17:36,370 INFO L290 TraceCheckUtils]: 22: Hoare triple {2661#(or (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~i~0 3) 0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2662#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:36,370 INFO L290 TraceCheckUtils]: 23: Hoare triple {2662#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2663#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967297 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {2663#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967297 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} assume !(~i~0 >= 0); {2654#false} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {2654#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {2654#false} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {2654#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2654#false} is VALID [2022-04-27 10:17:36,371 INFO L272 TraceCheckUtils]: 27: Hoare triple {2654#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {2653#true} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {2653#true} ~cond := #in~cond; {2653#true} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {2653#true} assume !(0 == ~cond); {2653#true} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:17:36,371 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2653#true} {2654#false} #65#return; {2654#false} is VALID [2022-04-27 10:17:36,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {2654#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L290 TraceCheckUtils]: 33: Hoare triple {2654#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L290 TraceCheckUtils]: 34: Hoare triple {2654#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L272 TraceCheckUtils]: 35: Hoare triple {2654#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {2654#false} ~cond := #in~cond; {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {2654#false} assume 0 == ~cond; {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {2654#false} assume !false; {2654#false} is VALID [2022-04-27 10:17:36,372 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-27 10:17:36,372 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:36,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [837635386] [2022-04-27 10:17:36,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [837635386] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:36,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1858027429] [2022-04-27 10:17:36,373 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:36,373 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:36,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:36,379 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:36,380 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:36,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:36,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-27 10:17:36,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:36,468 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:36,488 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:36,789 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 20 treesize of output 20 [2022-04-27 10:17:36,972 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:36,977 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 32 [2022-04-27 10:17:41,682 WARN L855 $PredicateComparison]: unable to prove that (exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (let ((.cse1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (let ((.cse0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 .cse1))) (and (= (select (select |c_#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1) (select (select |c_#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296)))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= .cse0 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 .cse1)) (<= .cse0 (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (<= .cse0 (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) .cse0) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|)))))) is different from true [2022-04-27 10:17:55,706 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:55,708 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:55,709 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 10 [2022-04-27 10:17:56,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {2653#true} call ULTIMATE.init(); {2653#true} is VALID [2022-04-27 10:17:56,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {2653#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); {2653#true} is VALID [2022-04-27 10:17:56,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:17:56,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2653#true} {2653#true} #67#return; {2653#true} is VALID [2022-04-27 10:17:56,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {2653#true} call #t~ret13 := main(); {2653#true} is VALID [2022-04-27 10:17:56,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {2653#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,097 INFO L290 TraceCheckUtils]: 6: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,100 INFO L290 TraceCheckUtils]: 10: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,100 INFO L290 TraceCheckUtils]: 11: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,101 INFO L290 TraceCheckUtils]: 12: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,102 INFO L290 TraceCheckUtils]: 14: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,102 INFO L290 TraceCheckUtils]: 15: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,102 INFO L290 TraceCheckUtils]: 16: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,103 INFO L290 TraceCheckUtils]: 17: Hoare triple {2687#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {2724#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:56,104 INFO L290 TraceCheckUtils]: 18: Hoare triple {2724#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2728#(and (= |main_~#str2~0.offset| 0) (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:17:56,105 INFO L290 TraceCheckUtils]: 19: Hoare triple {2728#(and (= |main_~#str2~0.offset| 0) (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2732#(and (= |main_~#str2~0.offset| 0) (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {2732#(and (= |main_~#str2~0.offset| 0) (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2736#(and (= |main_~#str2~0.offset| 0) (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~j~0) 1))} is VALID [2022-04-27 10:17:56,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {2736#(and (= |main_~#str2~0.offset| 0) (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~j~0) 1))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2740#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~j~0) 1))} is VALID [2022-04-27 10:17:56,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {2740#(and (= |main_~#str2~0.offset| 0) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~j~0) 1))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2744#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,110 INFO L290 TraceCheckUtils]: 23: Hoare triple {2744#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2748#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= 2 (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {2748#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= 2 (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 >= 0); {2752#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (< (mod (+ main_~max~0 4294967295) 4294967296) 3) (<= 2 (mod (+ main_~max~0 4294967295) 4294967296)) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {2752#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (< (mod (+ main_~max~0 4294967295) 4294967296) 3) (<= 2 (mod (+ main_~max~0 4294967295) 4294967296)) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {2756#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:17:56,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {2756#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2756#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:17:56,287 INFO L272 TraceCheckUtils]: 27: Hoare triple {2756#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} is VALID [2022-04-27 10:17:56,300 INFO L290 TraceCheckUtils]: 28: Hoare triple {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} ~cond := #in~cond; {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} is VALID [2022-04-27 10:17:56,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} assume !(0 == ~cond); {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} is VALID [2022-04-27 10:17:56,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} assume true; {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} is VALID [2022-04-27 10:17:56,316 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2763#(exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|))))} {2756#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} #65#return; {2776#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|)))) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:17:56,319 INFO L290 TraceCheckUtils]: 32: Hoare triple {2776#(and (= |main_~#str2~0.offset| 0) (< (div (+ (- 2) main_~j~0) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 2 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (exists ((aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 Int) (|v_main_~#str2~0.base_BEFORE_CALL_1| Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 Int) (aux_div_v_main_~j~0_BEFORE_CALL_1_46 Int) (|v_main_~#str1~0.base_BEFORE_CALL_1| Int)) (and (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168) (< aux_div_v_main_~j~0_BEFORE_CALL_1_46 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) 4294967295) (< 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_v_main_~j~0_BEFORE_CALL_1_46 4294967296) 4294967295)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_1|) (+ (- 1) (mod (+ 4294967295 (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168)) 4294967296))) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_1|) 1)) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296)) (+ (* aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 4294967296) 4294967293)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 1)) (<= (+ (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143 4294967296) 4294967293) (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_1_46_123_143_168 4294967296))) (not (= |v_main_~#str2~0.base_BEFORE_CALL_1| |v_main_~#str1~0.base_BEFORE_CALL_1|)))) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod main_~j~0 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {2780#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~j~0 1) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 1) 4294967296) 1)) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (< (div (+ (- 1) main_~j~0) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:56,320 INFO L290 TraceCheckUtils]: 33: Hoare triple {2780#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~j~0 1) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 1) 4294967296) 1)) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (< (div (+ (- 1) main_~j~0) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {2784#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~j~0 1) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 1) 4294967296) 1)) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (< (div (+ (- 1) main_~j~0) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-27 10:17:56,322 INFO L290 TraceCheckUtils]: 34: Hoare triple {2784#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (- 1) (mod (+ main_~j~0 1) 4294967296) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 1) 4294967296) 1)) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (< (div (+ (- 1) main_~j~0) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2788#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:17:56,323 INFO L272 TraceCheckUtils]: 35: Hoare triple {2788#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {2792#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:56,323 INFO L290 TraceCheckUtils]: 36: Hoare triple {2792#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2796#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:56,324 INFO L290 TraceCheckUtils]: 37: Hoare triple {2796#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2654#false} is VALID [2022-04-27 10:17:56,324 INFO L290 TraceCheckUtils]: 38: Hoare triple {2654#false} assume !false; {2654#false} is VALID [2022-04-27 10:17:56,324 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 25 trivial. 2 not checked. [2022-04-27 10:17:56,324 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:57,028 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:57,029 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 218 treesize of output 206 [2022-04-27 10:17:57,485 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:57,485 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 23 [2022-04-27 10:17:57,497 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 236 treesize of output 218 [2022-04-27 10:17:57,590 INFO L356 Elim1Store]: treesize reduction 30, result has 36.2 percent of original size [2022-04-27 10:17:57,591 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 515 treesize of output 447 [2022-04-27 10:17:57,814 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:57,815 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 218 treesize of output 206 [2022-04-27 10:17:58,384 INFO L356 Elim1Store]: treesize reduction 16, result has 5.9 percent of original size [2022-04-27 10:17:58,385 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 105 treesize of output 92 [2022-04-27 10:17:58,516 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:58,522 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:58,522 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 129 treesize of output 113 [2022-04-27 10:17:58,589 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:58,590 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 23 [2022-04-27 10:17:58,600 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:17:58,604 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 39 treesize of output 30 [2022-04-27 10:17:58,777 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 31 treesize of output 23 [2022-04-27 10:17:58,790 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 105 treesize of output 96 [2022-04-27 10:17:58,835 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:17:58,835 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 117 treesize of output 108 [2022-04-27 10:18:00,601 INFO L290 TraceCheckUtils]: 38: Hoare triple {2654#false} assume !false; {2654#false} is VALID [2022-04-27 10:18:00,602 INFO L290 TraceCheckUtils]: 37: Hoare triple {2796#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2654#false} is VALID [2022-04-27 10:18:00,602 INFO L290 TraceCheckUtils]: 36: Hoare triple {2792#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2796#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:00,603 INFO L272 TraceCheckUtils]: 35: Hoare triple {2788#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {2792#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:00,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {2815#(= (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 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2788#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:18:00,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {2819#(= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {2815#(= (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:18:00,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {2819#(= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:18:00,606 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2653#true} {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} #65#return; {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} is VALID [2022-04-27 10:18:00,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:18:00,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {2653#true} assume !(0 == ~cond); {2653#true} is VALID [2022-04-27 10:18:00,607 INFO L290 TraceCheckUtils]: 28: Hoare triple {2653#true} ~cond := #in~cond; {2653#true} is VALID [2022-04-27 10:18:00,607 INFO L272 TraceCheckUtils]: 27: Hoare triple {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {2653#true} is VALID [2022-04-27 10:18:00,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} is VALID [2022-04-27 10:18:00,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {2845#(and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {2823#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} is VALID [2022-04-27 10:18:00,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {2849#(or (<= 0 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} assume !(~i~0 >= 0); {2845#(and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))} is VALID [2022-04-27 10:18:00,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {2853#(or (<= 1 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2849#(or (<= 0 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} is VALID [2022-04-27 10:18:00,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {2857#(or (not (<= 0 main_~i~0)) (and (or (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)))))) (<= 1 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2853#(or (<= 1 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} is VALID [2022-04-27 10:18:00,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {2861#(or (<= 2 main_~i~0) (and (or (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)))))) (not (<= 1 main_~i~0)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2857#(or (not (<= 0 main_~i~0)) (and (or (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)))))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:18:00,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {2865#(or (and (or (and (or (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|)))) (= (+ main_~i~0 |main_~#str1~0.offset| 4294967297) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|))) (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (= |main_~#str1~0.base| |main_~#str2~0.base|))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|))) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (= (+ main_~i~0 |main_~#str1~0.offset| 1) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)))))) (<= 2 main_~i~0) (not (<= 1 main_~i~0)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2861#(or (<= 2 main_~i~0) (and (or (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_228 Int)) (= (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)) (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_228) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)))))) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:18:00,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {2869#(or (not (<= 2 main_~i~0)) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (or (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|)))) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|) (+ main_~i~0 |main_~#str1~0.offset| 4294967296))) (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|))) (or (= (+ main_~i~0 |main_~#str1~0.offset|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))))) (<= 3 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {2865#(or (and (or (and (or (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|)))) (= (+ main_~i~0 |main_~#str1~0.offset| 4294967297) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|))) (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (= |main_~#str1~0.base| |main_~#str2~0.base|))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|))) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (= (+ main_~i~0 |main_~#str1~0.offset| 1) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)))))) (<= 2 main_~i~0) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:18:00,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {2873#(or (not (<= 2 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (= (+ main_~i~0 |main_~#str1~0.offset|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|))) (or (not (= (+ main_~j~0 |main_~#str2~0.offset| 1) |main_~#str1~0.offset|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)) (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (= (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|) (+ main_~i~0 |main_~#str1~0.offset| 4294967296)) (and (or (not (= (+ main_~j~0 |main_~#str2~0.offset| 1) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298))))))) (<= 3 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {2869#(or (not (<= 2 main_~i~0)) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (or (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|)))) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|) (+ main_~i~0 |main_~#str1~0.offset| 4294967296))) (or (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) |main_~#str1~0.offset|))) (or (= (+ main_~i~0 |main_~#str1~0.offset|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)))))) (<= 3 main_~i~0))} is VALID [2022-04-27 10:18:00,621 INFO L290 TraceCheckUtils]: 17: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {2873#(or (not (<= 2 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (= (+ main_~i~0 |main_~#str1~0.offset|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|))) (or (not (= (+ main_~j~0 |main_~#str2~0.offset| 1) |main_~#str1~0.offset|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))) (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (or (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)) (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (= (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|) (+ main_~i~0 |main_~#str1~0.offset| 4294967296)) (and (or (not (= (+ main_~j~0 |main_~#str2~0.offset| 1) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298))))))) (<= 3 main_~i~0))} is VALID [2022-04-27 10:18:00,622 INFO L290 TraceCheckUtils]: 16: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,622 INFO L290 TraceCheckUtils]: 15: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,623 INFO L290 TraceCheckUtils]: 13: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,623 INFO L290 TraceCheckUtils]: 12: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,624 INFO L290 TraceCheckUtils]: 11: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,624 INFO L290 TraceCheckUtils]: 10: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,626 INFO L290 TraceCheckUtils]: 6: Hoare triple {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {2653#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {2877#(or (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (not (= |main_~#str1~0.offset| (+ |main_~#str2~0.offset| 1))))} is VALID [2022-04-27 10:18:00,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {2653#true} call #t~ret13 := main(); {2653#true} is VALID [2022-04-27 10:18:00,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2653#true} {2653#true} #67#return; {2653#true} is VALID [2022-04-27 10:18:00,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {2653#true} assume true; {2653#true} is VALID [2022-04-27 10:18:00,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {2653#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); {2653#true} is VALID [2022-04-27 10:18:00,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {2653#true} call ULTIMATE.init(); {2653#true} is VALID [2022-04-27 10:18:00,627 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:18:00,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1858027429] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:18:00,627 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:18:00,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 19, 17] total 38 [2022-04-27 10:18:00,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1859717772] [2022-04-27 10:18:00,627 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:18:00,628 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-27 10:18:00,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:18:00,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:01,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:01,501 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-27 10:18:01,501 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:18:01,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-27 10:18:01,502 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=1167, Unknown=2, NotChecked=70, Total=1406 [2022-04-27 10:18:01,502 INFO L87 Difference]: Start difference. First operand 42 states and 44 transitions. Second operand has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:06,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:06,754 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-27 10:18:06,754 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 10:18:06,754 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-27 10:18:06,754 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:18:06,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:06,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 78 transitions. [2022-04-27 10:18:06,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:06,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 78 transitions. [2022-04-27 10:18:06,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 78 transitions. [2022-04-27 10:18:06,885 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:06,886 INFO L225 Difference]: With dead ends: 84 [2022-04-27 10:18:06,886 INFO L226 Difference]: Without dead ends: 67 [2022-04-27 10:18:06,888 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 61 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 857 ImplicationChecksByTransitivity, 12.0s TimeCoverageRelationStatistics Valid=510, Invalid=3274, Unknown=2, NotChecked=120, Total=3906 [2022-04-27 10:18:06,888 INFO L413 NwaCegarLoop]: 14 mSDtfsCounter, 46 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 610 mSolverCounterSat, 137 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 888 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 137 IncrementalHoareTripleChecker+Valid, 610 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 141 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:18:06,889 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 93 Invalid, 888 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [137 Valid, 610 Invalid, 0 Unknown, 141 Unchecked, 1.1s Time] [2022-04-27 10:18:06,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-27 10:18:07,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-27 10:18:07,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:18:07,028 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 48 states have (on average 1.1041666666666667) internal successors, (53), 50 states have internal predecessors, (53), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:18:07,028 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 48 states have (on average 1.1041666666666667) internal successors, (53), 50 states have internal predecessors, (53), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:18:07,028 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 48 states have (on average 1.1041666666666667) internal successors, (53), 50 states have internal predecessors, (53), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:18:07,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:07,031 INFO L93 Difference]: Finished difference Result 67 states and 73 transitions. [2022-04-27 10:18:07,031 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 73 transitions. [2022-04-27 10:18:07,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:07,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:07,032 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 48 states have (on average 1.1041666666666667) internal successors, (53), 50 states have internal predecessors, (53), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 67 states. [2022-04-27 10:18:07,032 INFO L87 Difference]: Start difference. First operand has 59 states, 48 states have (on average 1.1041666666666667) internal successors, (53), 50 states have internal predecessors, (53), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 67 states. [2022-04-27 10:18:07,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:07,034 INFO L93 Difference]: Finished difference Result 67 states and 73 transitions. [2022-04-27 10:18:07,034 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 73 transitions. [2022-04-27 10:18:07,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:07,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:07,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:18:07,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:18:07,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 48 states have (on average 1.1041666666666667) internal successors, (53), 50 states have internal predecessors, (53), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:18:07,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-27 10:18:07,037 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 39 [2022-04-27 10:18:07,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:18:07,037 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-27 10:18:07,037 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 37 states have (on average 1.7297297297297298) internal successors, (64), 35 states have internal predecessors, (64), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:07,037 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-27 10:18:07,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 10:18:07,038 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:18:07,038 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:18:07,062 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:18:07,255 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:07,255 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:18:07,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:18:07,256 INFO L85 PathProgramCache]: Analyzing trace with hash -1926528494, now seen corresponding path program 2 times [2022-04-27 10:18:07,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:18:07,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1917128611] [2022-04-27 10:18:07,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:18:07,256 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:18:07,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:07,502 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:18:07,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:07,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {3338#(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); {3322#true} is VALID [2022-04-27 10:18:07,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:07,507 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3322#true} {3322#true} #67#return; {3322#true} is VALID [2022-04-27 10:18:07,507 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-27 10:18:07,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:07,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {3322#true} ~cond := #in~cond; {3322#true} is VALID [2022-04-27 10:18:07,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {3322#true} assume !(0 == ~cond); {3322#true} is VALID [2022-04-27 10:18:07,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:07,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3322#true} {3323#false} #65#return; {3323#false} is VALID [2022-04-27 10:18:07,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {3322#true} call ULTIMATE.init(); {3338#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:18:07,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {3338#(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); {3322#true} is VALID [2022-04-27 10:18:07,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:07,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3322#true} {3322#true} #67#return; {3322#true} is VALID [2022-04-27 10:18:07,515 INFO L272 TraceCheckUtils]: 4: Hoare triple {3322#true} call #t~ret13 := main(); {3322#true} is VALID [2022-04-27 10:18:07,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {3322#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,525 INFO L290 TraceCheckUtils]: 10: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,527 INFO L290 TraceCheckUtils]: 13: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,527 INFO L290 TraceCheckUtils]: 14: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,528 INFO L290 TraceCheckUtils]: 15: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,528 INFO L290 TraceCheckUtils]: 16: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} is VALID [2022-04-27 10:18:07,530 INFO L290 TraceCheckUtils]: 17: Hoare triple {3327#(and (not (<= (div (+ main_~max~0 4294967295) 4294967296) 0)) (<= main_~max~0 5))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {3328#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (or (<= main_~max~0 5) (and (<= main_~max~0 4294967301) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:07,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {3328#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (or (<= main_~max~0 5) (and (<= main_~max~0 4294967301) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3328#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (or (<= main_~max~0 5) (and (<= main_~max~0 4294967301) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:07,533 INFO L290 TraceCheckUtils]: 19: Hoare triple {3328#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (or (<= main_~max~0 5) (and (<= main_~max~0 4294967301) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3329#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967299) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:18:07,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {3329#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967299) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3329#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967299) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:18:07,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {3329#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967299) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3330#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967298))} is VALID [2022-04-27 10:18:07,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {3330#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967298))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3330#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967298))} is VALID [2022-04-27 10:18:07,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {3330#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967298))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3331#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967297))} is VALID [2022-04-27 10:18:07,537 INFO L290 TraceCheckUtils]: 24: Hoare triple {3331#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967297))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3331#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967297))} is VALID [2022-04-27 10:18:07,538 INFO L290 TraceCheckUtils]: 25: Hoare triple {3331#(and (< 0 (div (+ main_~max~0 4294967295) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967297))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3332#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967296) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:18:07,538 INFO L290 TraceCheckUtils]: 26: Hoare triple {3332#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967296) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3332#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967296) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:18:07,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {3332#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967296) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3333#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967295) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 28: Hoare triple {3333#(and (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) 4294967295) (< 0 (div (+ main_~max~0 4294967295) 4294967296)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3323#false} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 29: Hoare triple {3323#false} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3323#false} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 30: Hoare triple {3323#false} assume !(~i~0 >= 0); {3323#false} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {3323#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {3323#false} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {3323#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3323#false} is VALID [2022-04-27 10:18:07,540 INFO L272 TraceCheckUtils]: 33: Hoare triple {3323#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {3322#true} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {3322#true} ~cond := #in~cond; {3322#true} is VALID [2022-04-27 10:18:07,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {3322#true} assume !(0 == ~cond); {3322#true} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:07,541 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3322#true} {3323#false} #65#return; {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 38: Hoare triple {3323#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 39: Hoare triple {3323#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 40: Hoare triple {3323#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L272 TraceCheckUtils]: 41: Hoare triple {3323#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 42: Hoare triple {3323#false} ~cond := #in~cond; {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {3323#false} assume 0 == ~cond; {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {3323#false} assume !false; {3323#false} is VALID [2022-04-27 10:18:07,541 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 29 proven. 9 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-27 10:18:07,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:18:07,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1917128611] [2022-04-27 10:18:07,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1917128611] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:18:07,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1102066362] [2022-04-27 10:18:07,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 10:18:07,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:07,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:18:07,544 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:18:07,575 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:18:07,643 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 10:18:07,643 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:18:07,645 INFO L263 TraceCheckSpWp]: Trace formula consists of 216 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-27 10:18:07,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:07,666 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:18:07,686 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:18:08,299 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 20 treesize of output 20 [2022-04-27 10:18:08,459 INFO L356 Elim1Store]: treesize reduction 27, result has 25.0 percent of original size [2022-04-27 10:18:08,459 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 32 [2022-04-27 10:18:13,225 WARN L855 $PredicateComparison]: unable to prove that (exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (let ((.cse1 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296))) (let ((.cse0 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))) (and (<= .cse0 (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= .cse0 (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 .cse1 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |c_#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4))) (select (select |c_#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4))) (<= .cse0 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 .cse1 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)))))) is different from true [2022-04-27 10:18:21,048 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:18:21,054 INFO L356 Elim1Store]: treesize reduction 15, result has 16.7 percent of original size [2022-04-27 10:18:21,054 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 13 [2022-04-27 10:18:21,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {3322#true} call ULTIMATE.init(); {3322#true} is VALID [2022-04-27 10:18:21,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {3322#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); {3322#true} is VALID [2022-04-27 10:18:21,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:21,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3322#true} {3322#true} #67#return; {3322#true} is VALID [2022-04-27 10:18:21,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {3322#true} call #t~ret13 := main(); {3322#true} is VALID [2022-04-27 10:18:21,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {3322#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,514 INFO L290 TraceCheckUtils]: 6: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,515 INFO L290 TraceCheckUtils]: 10: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,515 INFO L290 TraceCheckUtils]: 11: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {3357#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {3357#(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 + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {3394#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:18:21,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {3394#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3398#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:18:21,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {3398#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) main_~i~0)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= main_~i~0 (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3402#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {3402#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3406#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= |main_~#str1~0.offset| 0) (= main_~j~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,521 INFO L290 TraceCheckUtils]: 21: Hoare triple {3406#(and (or (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 1)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) (+ main_~i~0 1)))) (= |main_~#str1~0.offset| 0) (= main_~j~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3410#(and (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (= main_~j~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {3410#(and (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (= main_~j~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3414#(and (= main_~j~0 3) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,523 INFO L290 TraceCheckUtils]: 23: Hoare triple {3414#(and (= main_~j~0 3) (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 2) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 2)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3418#(and (= main_~j~0 3) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} is VALID [2022-04-27 10:18:21,524 INFO L290 TraceCheckUtils]: 24: Hoare triple {3418#(and (= main_~j~0 3) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3422#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (= (+ (- 1) main_~j~0) 3))} is VALID [2022-04-27 10:18:21,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {3422#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 3))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 3) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (= (+ (- 1) main_~j~0) 3))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3426#(and (= |main_~#str1~0.offset| 0) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 4) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~j~0) 3))} is VALID [2022-04-27 10:18:21,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {3426#(and (= |main_~#str1~0.offset| 0) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 4) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~j~0) 3))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3430#(and (= |main_~#str1~0.offset| 0) (= (+ (- 2) main_~j~0) 3) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 4) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,527 INFO L290 TraceCheckUtils]: 27: Hoare triple {3430#(and (= |main_~#str1~0.offset| 0) (= (+ (- 2) main_~j~0) 3) (or (and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (+ main_~i~0 4) (mod (+ main_~max~0 4294967295) 4294967296))) (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ main_~i~0 4) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296))))) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3434#(and (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ 5 main_~i~0) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (= (+ 5 main_~i~0) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (= |main_~#str1~0.offset| 0) (= (+ (- 2) main_~j~0) 3) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,529 INFO L290 TraceCheckUtils]: 28: Hoare triple {3434#(and (or (and (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (+ 5 main_~i~0) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4294967296)))) (and (= (+ 5 main_~i~0) (mod (+ main_~max~0 4294967295) 4294967296)) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647))) (= |main_~#str1~0.offset| 0) (= (+ (- 2) main_~j~0) 3) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3438#(and (= (+ 5 main_~i~0) (mod (+ main_~max~0 4294967295) 4294967296)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,529 INFO L290 TraceCheckUtils]: 29: Hoare triple {3438#(and (= (+ 5 main_~i~0) (mod (+ main_~max~0 4294967295) 4294967296)) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= |main_~#str1~0.offset| 0) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3442#(and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= |main_~#str1~0.offset| 0) (<= 5 (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 6)))} is VALID [2022-04-27 10:18:21,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {3442#(and (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= |main_~#str1~0.offset| 0) (<= 5 (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~i~0 6)))} assume !(~i~0 >= 0); {3446#(and (< (mod (+ main_~max~0 4294967295) 4294967296) 6) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= |main_~#str1~0.offset| 0) (<= 5 (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:21,532 INFO L290 TraceCheckUtils]: 31: Hoare triple {3446#(and (< (mod (+ main_~max~0 4294967295) 4294967296) 6) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) (- 4) |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4))) (= |main_~#str1~0.offset| 0) (<= 5 (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} is VALID [2022-04-27 10:18:21,533 INFO L290 TraceCheckUtils]: 32: Hoare triple {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} is VALID [2022-04-27 10:18:21,973 INFO L272 TraceCheckUtils]: 33: Hoare triple {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} is VALID [2022-04-27 10:18:21,978 INFO L290 TraceCheckUtils]: 34: Hoare triple {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} ~cond := #in~cond; {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} is VALID [2022-04-27 10:18:21,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} assume !(0 == ~cond); {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} is VALID [2022-04-27 10:18:21,986 INFO L290 TraceCheckUtils]: 36: Hoare triple {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} assume true; {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} is VALID [2022-04-27 10:18:21,987 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3457#(exists ((aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (|v_main_~#str2~0.base_BEFORE_CALL_3| Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 Int) (aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 Int) (aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 Int) (|v_main_~#str2~0.offset_BEFORE_CALL_3| Int) (|v_main_~#str1~0.base_BEFORE_CALL_3| Int) (aux_div_v_main_~j~0_BEFORE_CALL_3_56 Int)) (and (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (+ (* 4294967296 aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119) 5)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (* aux_div_v_main_~j~0_BEFORE_CALL_3_56 4294967296)) (< 0 (+ 4294967291 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172)) (< aux_div_v_main_~j~0_BEFORE_CALL_3_56 (+ aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 1)) (= (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_3|) (+ |v_main_~#str2~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_3|) (+ (mod (+ (* 4294967295 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) 4294967296) (- 4)))) (<= (+ (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) 5) (not (= |v_main_~#str2~0.base_BEFORE_CALL_3| |v_main_~#str1~0.base_BEFORE_CALL_3|)) (< aux_div_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119 (+ aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172) (<= (* aux_div_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154 4294967296) (+ 4294967290 (* aux_div_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~j~0_BEFORE_CALL_3_56_119_154_172))))} {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} #65#return; {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} is VALID [2022-04-27 10:18:21,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {3450#(and (< (div (+ main_~j~0 (- 5)) (- 4294967296)) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) 1)) (= |main_~#str1~0.offset| 0) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod main_~j~0 4294967296) (- 4) |main_~#str1~0.offset|))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div main_~j~0 (- 4294967296)) (+ (div (+ 5 (* (- 1) main_~j~0)) 4294967296) 1)))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {3473#(and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~j~0 1) 4294967296) (- 4) |main_~#str1~0.offset|))) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div (+ main_~j~0 (- 4)) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} is VALID [2022-04-27 10:18:21,990 INFO L290 TraceCheckUtils]: 39: Hoare triple {3473#(and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~j~0 1) 4294967296) (- 4) |main_~#str1~0.offset|))) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (div (+ main_~j~0 (- 4)) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {3477#(and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~j~0 1) 4294967296) (- 4) |main_~#str1~0.offset|))) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0) (< (div (+ main_~j~0 (- 4)) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} is VALID [2022-04-27 10:18:21,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {3477#(and (= (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 4)) (select (select |#memory_int| |main_~#str1~0.base|) (+ (mod (+ main_~j~0 1) 4294967296) (- 4) |main_~#str1~0.offset|))) (<= 0 (+ main_~j~0 1)) (= |main_~#str1~0.offset| 0) (< main_~j~0 4294967295) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0) (< (div (+ main_~j~0 (- 4)) (- 4294967296)) (+ (div (+ 4294967294 (* (- 1) main_~j~0)) 4294967296) 1)) (< (div (+ main_~j~0 1) (- 4294967296)) (+ (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3481#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:18:21,993 INFO L272 TraceCheckUtils]: 41: Hoare triple {3481#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {3485#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:21,994 INFO L290 TraceCheckUtils]: 42: Hoare triple {3485#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3489#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:21,994 INFO L290 TraceCheckUtils]: 43: Hoare triple {3489#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3323#false} is VALID [2022-04-27 10:18:21,994 INFO L290 TraceCheckUtils]: 44: Hoare triple {3323#false} assume !false; {3323#false} is VALID [2022-04-27 10:18:21,994 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 25 trivial. 2 not checked. [2022-04-27 10:18:21,994 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:18:22,785 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:18:22,786 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 218 treesize of output 206 [2022-04-27 10:18:23,578 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:23,579 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 23 [2022-04-27 10:18:23,594 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 105 treesize of output 96 [2022-04-27 10:18:23,644 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:23,654 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:18:23,654 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 284 treesize of output 230 [2022-04-27 10:18:23,823 INFO L356 Elim1Store]: treesize reduction 19, result has 5.0 percent of original size [2022-04-27 10:18:23,823 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 233 treesize of output 201 [2022-04-27 10:18:23,857 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-27 10:18:23,858 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 31 treesize of output 1 [2022-04-27 10:18:23,884 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:18:23,884 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 218 treesize of output 206 [2022-04-27 10:18:24,544 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:24,545 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 23 [2022-04-27 10:18:24,561 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 105 treesize of output 96 [2022-04-27 10:18:24,618 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:24,626 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:18:24,626 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 129 treesize of output 108 [2022-04-27 10:18:24,732 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-27 10:18:24,733 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 31 treesize of output 1 [2022-04-27 10:18:24,843 INFO L356 Elim1Store]: treesize reduction 19, result has 5.0 percent of original size [2022-04-27 10:18:24,844 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 233 treesize of output 201 [2022-04-27 10:18:26,147 INFO L290 TraceCheckUtils]: 44: Hoare triple {3323#false} assume !false; {3323#false} is VALID [2022-04-27 10:18:26,147 INFO L290 TraceCheckUtils]: 43: Hoare triple {3489#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3323#false} is VALID [2022-04-27 10:18:26,148 INFO L290 TraceCheckUtils]: 42: Hoare triple {3485#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3489#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:26,148 INFO L272 TraceCheckUtils]: 41: Hoare triple {3481#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {3485#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:26,149 INFO L290 TraceCheckUtils]: 40: Hoare triple {3508#(= (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 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3481#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:18:26,149 INFO L290 TraceCheckUtils]: 39: Hoare triple {3512#(= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {3508#(= (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:18:26,150 INFO L290 TraceCheckUtils]: 38: Hoare triple {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {3512#(= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:18:26,151 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3322#true} {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} #65#return; {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} is VALID [2022-04-27 10:18:26,151 INFO L290 TraceCheckUtils]: 36: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:26,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {3322#true} assume !(0 == ~cond); {3322#true} is VALID [2022-04-27 10:18:26,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {3322#true} ~cond := #in~cond; {3322#true} is VALID [2022-04-27 10:18:26,151 INFO L272 TraceCheckUtils]: 33: Hoare triple {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {3322#true} is VALID [2022-04-27 10:18:26,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} is VALID [2022-04-27 10:18:26,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {3538#(and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {3516#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1)))} is VALID [2022-04-27 10:18:26,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {3542#(or (<= 0 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} assume !(~i~0 >= 0); {3538#(and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))} is VALID [2022-04-27 10:18:26,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {3546#(or (<= 1 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3542#(or (<= 0 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} is VALID [2022-04-27 10:18:26,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {3550#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |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|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))) (not (<= 0 main_~i~0)) (<= 1 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3546#(or (<= 1 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))))} is VALID [2022-04-27 10:18:26,159 INFO L290 TraceCheckUtils]: 27: Hoare triple {3554#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |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|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))) (<= 2 main_~i~0) (not (<= 1 main_~i~0)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3550#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |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|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))) (not (<= 0 main_~i~0)) (<= 1 main_~i~0))} is VALID [2022-04-27 10:18:26,161 INFO L290 TraceCheckUtils]: 26: Hoare triple {3558#(or (<= 2 main_~i~0) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (not (<= 1 main_~i~0)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3554#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (mod (+ main_~max~0 4294967295) 4294967296) |main_~#str2~0.offset| (- 4294967297))) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1))))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (forall ((v_ArrVal_291 Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) v_ArrVal_291) (+ (- 1) (mod (+ main_~max~0 4294967295) 4294967296) |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|) v_ArrVal_291)) |main_~#str1~0.base|) (+ |main_~#str1~0.offset| 1)))))) (<= 2 main_~i~0) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:18:26,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {3562#(or (not (<= 2 main_~i~0)) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (<= 3 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3558#(or (<= 2 main_~i~0) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:18:26,162 INFO L290 TraceCheckUtils]: 24: Hoare triple {3566#(or (not (<= 2 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (<= 3 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3562#(or (not (<= 2 main_~i~0)) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967297) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (<= 3 main_~i~0))} is VALID [2022-04-27 10:18:26,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {3570#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (not (<= 3 main_~i~0)) (<= 4 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3566#(or (not (<= 2 main_~i~0)) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (<= 3 main_~i~0))} is VALID [2022-04-27 10:18:26,164 INFO L290 TraceCheckUtils]: 22: Hoare triple {3574#(or (not (<= 3 main_~i~0)) (<= 4 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3570#(or (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 2)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967298)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))) (not (<= 3 main_~i~0)) (<= 4 main_~i~0))} is VALID [2022-04-27 10:18:26,165 INFO L290 TraceCheckUtils]: 21: Hoare triple {3578#(or (not (<= 4 main_~i~0)) (<= 5 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3574#(or (not (<= 3 main_~i~0)) (<= 4 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))))} is VALID [2022-04-27 10:18:26,166 INFO L290 TraceCheckUtils]: 20: Hoare triple {3582#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967300) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4))))) (not (<= 4 main_~i~0)) (<= 5 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3578#(or (not (<= 4 main_~i~0)) (<= 5 main_~i~0) (and (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 3)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4294967299)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|))))))} is VALID [2022-04-27 10:18:26,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {3586#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967300) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4))))) (not (<= 5 main_~i~0)) (<= 6 main_~i~0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {3582#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967300) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4))))) (not (<= 4 main_~i~0)) (<= 5 main_~i~0))} is VALID [2022-04-27 10:18:26,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {3590#(or (not (<= 5 main_~i~0)) (<= 6 main_~i~0) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967301) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ 5 main_~j~0))))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3586#(or (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967300) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ main_~j~0 4))))) (not (<= 5 main_~i~0)) (<= 6 main_~i~0))} is VALID [2022-04-27 10:18:26,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {3590#(or (not (<= 5 main_~i~0)) (<= 6 main_~i~0) (and (or (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647) (and (= (+ main_~j~0 4294967301) (mod (+ main_~max~0 4294967295) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))) (or (not (<= (mod (+ main_~max~0 4294967295) 4294967296) 2147483647)) (and (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (mod (+ main_~max~0 4294967295) 4294967296) (+ 5 main_~j~0))))))} is VALID [2022-04-27 10:18:26,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,171 INFO L290 TraceCheckUtils]: 10: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {3322#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {3594#(not (= |main_~#str1~0.base| |main_~#str2~0.base|))} is VALID [2022-04-27 10:18:26,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {3322#true} call #t~ret13 := main(); {3322#true} is VALID [2022-04-27 10:18:26,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3322#true} {3322#true} #67#return; {3322#true} is VALID [2022-04-27 10:18:26,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {3322#true} assume true; {3322#true} is VALID [2022-04-27 10:18:26,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {3322#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); {3322#true} is VALID [2022-04-27 10:18:26,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {3322#true} call ULTIMATE.init(); {3322#true} is VALID [2022-04-27 10:18:26,175 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 2 proven. 38 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-27 10:18:26,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1102066362] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:18:26,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:18:26,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 24, 23] total 50 [2022-04-27 10:18:26,175 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [285692714] [2022-04-27 10:18:26,175 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:18:26,176 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 45 [2022-04-27 10:18:26,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:18:26,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:26,353 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:26,353 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 50 states [2022-04-27 10:18:26,353 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:18:26,354 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2022-04-27 10:18:26,354 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=282, Invalid=2073, Unknown=1, NotChecked=94, Total=2450 [2022-04-27 10:18:26,355 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:34,172 INFO L93 Difference]: Finished difference Result 109 states and 121 transitions. [2022-04-27 10:18:34,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-04-27 10:18:34,173 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 45 [2022-04-27 10:18:34,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:18:34,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 112 transitions. [2022-04-27 10:18:34,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 112 transitions. [2022-04-27 10:18:34,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 112 transitions. [2022-04-27 10:18:34,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:34,334 INFO L225 Difference]: With dead ends: 109 [2022-04-27 10:18:34,334 INFO L226 Difference]: Without dead ends: 90 [2022-04-27 10:18:34,336 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 86 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1536 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=1126, Invalid=6359, Unknown=1, NotChecked=170, Total=7656 [2022-04-27 10:18:34,337 INFO L413 NwaCegarLoop]: 16 mSDtfsCounter, 124 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 1132 mSolverCounterSat, 311 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 1597 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 311 IncrementalHoareTripleChecker+Valid, 1132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 154 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:18:34,338 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [124 Valid, 121 Invalid, 1597 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [311 Valid, 1132 Invalid, 0 Unknown, 154 Unchecked, 2.3s Time] [2022-04-27 10:18:34,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-27 10:18:34,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 54. [2022-04-27 10:18:34,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:18:34,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 54 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 45 states have internal predecessors, (47), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,489 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 54 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 45 states have internal predecessors, (47), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,489 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 54 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 45 states have internal predecessors, (47), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:34,492 INFO L93 Difference]: Finished difference Result 90 states and 100 transitions. [2022-04-27 10:18:34,492 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 100 transitions. [2022-04-27 10:18:34,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:34,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:34,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 45 states have internal predecessors, (47), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 90 states. [2022-04-27 10:18:34,493 INFO L87 Difference]: Start difference. First operand has 54 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 45 states have internal predecessors, (47), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 90 states. [2022-04-27 10:18:34,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:34,496 INFO L93 Difference]: Finished difference Result 90 states and 100 transitions. [2022-04-27 10:18:34,496 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 100 transitions. [2022-04-27 10:18:34,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:34,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:34,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:18:34,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:18:34,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 45 states have internal predecessors, (47), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 56 transitions. [2022-04-27 10:18:34,498 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 56 transitions. Word has length 45 [2022-04-27 10:18:34,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:18:34,499 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 56 transitions. [2022-04-27 10:18:34,499 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 50 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 5 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:34,499 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 56 transitions. [2022-04-27 10:18:34,499 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 10:18:34,499 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:18:34,500 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:18:34,523 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:18:34,715 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:34,715 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:18:34,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:18:34,716 INFO L85 PathProgramCache]: Analyzing trace with hash 1562112496, now seen corresponding path program 3 times [2022-04-27 10:18:34,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:18:34,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1954380382] [2022-04-27 10:18:34,716 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:18:34,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:18:34,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:34,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:18:34,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:34,941 INFO L290 TraceCheckUtils]: 0: Hoare triple {4162#(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); {4142#true} is VALID [2022-04-27 10:18:34,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:34,941 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4142#true} {4142#true} #67#return; {4142#true} is VALID [2022-04-27 10:18:34,942 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 10:18:34,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:34,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-27 10:18:34,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-27 10:18:34,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:34,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:34,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-27 10:18:34,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:34,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-27 10:18:34,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-27 10:18:34,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:34,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:34,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {4142#true} call ULTIMATE.init(); {4162#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:18:34,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {4162#(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); {4142#true} is VALID [2022-04-27 10:18:34,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:34,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4142#true} #67#return; {4142#true} is VALID [2022-04-27 10:18:34,952 INFO L272 TraceCheckUtils]: 4: Hoare triple {4142#true} call #t~ret13 := main(); {4142#true} is VALID [2022-04-27 10:18:34,953 INFO L290 TraceCheckUtils]: 5: Hoare triple {4142#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,953 INFO L290 TraceCheckUtils]: 6: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,955 INFO L290 TraceCheckUtils]: 10: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,957 INFO L290 TraceCheckUtils]: 12: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} is VALID [2022-04-27 10:18:34,960 INFO L290 TraceCheckUtils]: 17: Hoare triple {4147#(and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {4148#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:34,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {4148#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4148#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:34,963 INFO L290 TraceCheckUtils]: 19: Hoare triple {4148#(and (or (and (<= 5 main_~max~0) (<= (div (+ main_~max~0 4294967295) 4294967296) 1)) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4149#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:34,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {4149#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4149#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:34,965 INFO L290 TraceCheckUtils]: 21: Hoare triple {4149#(or (<= (+ main_~i~0 2) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967299 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4150#(or (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~i~0 3) 0))} is VALID [2022-04-27 10:18:34,966 INFO L290 TraceCheckUtils]: 22: Hoare triple {4150#(or (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~i~0 3) 0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4150#(or (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~i~0 3) 0))} is VALID [2022-04-27 10:18:34,966 INFO L290 TraceCheckUtils]: 23: Hoare triple {4150#(or (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967298 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~i~0 3) 0))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4151#(or (<= (+ main_~i~0 4) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967297 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:34,967 INFO L290 TraceCheckUtils]: 24: Hoare triple {4151#(or (<= (+ main_~i~0 4) 0) (and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967297 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4152#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967297 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:18:34,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {4152#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967297 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4153#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967296 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {4153#(and (<= (div (+ main_~max~0 4294967295) 4294967296) 1) (<= 4294967296 (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))} assume !(~i~0 >= 0); {4143#false} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {4143#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {4143#false} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 28: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:34,969 INFO L272 TraceCheckUtils]: 29: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4142#true} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 30: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 31: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 32: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:34,969 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4142#true} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {4143#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4143#false} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 35: Hoare triple {4143#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4143#false} is VALID [2022-04-27 10:18:34,969 INFO L290 TraceCheckUtils]: 36: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L272 TraceCheckUtils]: 37: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4142#true} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 38: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 39: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:34,970 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4142#true} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 42: Hoare triple {4143#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 43: Hoare triple {4143#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 44: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L272 TraceCheckUtils]: 45: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 46: Hoare triple {4143#false} ~cond := #in~cond; {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 47: Hoare triple {4143#false} assume 0 == ~cond; {4143#false} is VALID [2022-04-27 10:18:34,970 INFO L290 TraceCheckUtils]: 48: Hoare triple {4143#false} assume !false; {4143#false} is VALID [2022-04-27 10:18:34,971 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 4 proven. 16 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-27 10:18:34,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:18:34,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1954380382] [2022-04-27 10:18:34,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1954380382] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:18:34,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [258338243] [2022-04-27 10:18:34,971 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 10:18:34,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:34,971 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:18:34,976 INFO L229 MonitoredProcess]: Starting monitored process 8 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:18:34,980 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-27 10:18:35,216 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-04-27 10:18:35,216 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:18:35,217 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 10:18:35,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:35,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:18:35,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {4142#true} call ULTIMATE.init(); {4142#true} is VALID [2022-04-27 10:18:35,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#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); {4142#true} is VALID [2022-04-27 10:18:35,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:35,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4142#true} #67#return; {4142#true} is VALID [2022-04-27 10:18:35,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {4142#true} call #t~ret13 := main(); {4142#true} is VALID [2022-04-27 10:18:35,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {4142#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,423 INFO L290 TraceCheckUtils]: 6: Hoare triple {4181#(= 5 main_~max~0)} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {4181#(= 5 main_~max~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {4181#(= 5 main_~max~0)} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {4181#(= 5 main_~max~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {4181#(= 5 main_~max~0)} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {4181#(= 5 main_~max~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {4181#(= 5 main_~max~0)} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,425 INFO L290 TraceCheckUtils]: 13: Hoare triple {4181#(= 5 main_~max~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {4181#(= 5 main_~max~0)} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {4181#(= 5 main_~max~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {4181#(= 5 main_~max~0)} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {4181#(= 5 main_~max~0)} is VALID [2022-04-27 10:18:35,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {4181#(= 5 main_~max~0)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {4218#(= main_~i~0 4)} is VALID [2022-04-27 10:18:35,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {4218#(= main_~i~0 4)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4218#(= main_~i~0 4)} is VALID [2022-04-27 10:18:35,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {4218#(= main_~i~0 4)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4225#(<= 3 main_~i~0)} is VALID [2022-04-27 10:18:35,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {4225#(<= 3 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4225#(<= 3 main_~i~0)} is VALID [2022-04-27 10:18:35,428 INFO L290 TraceCheckUtils]: 21: Hoare triple {4225#(<= 3 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4232#(<= 2 main_~i~0)} is VALID [2022-04-27 10:18:35,428 INFO L290 TraceCheckUtils]: 22: Hoare triple {4232#(<= 2 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4232#(<= 2 main_~i~0)} is VALID [2022-04-27 10:18:35,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {4232#(<= 2 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4239#(<= 1 main_~i~0)} is VALID [2022-04-27 10:18:35,429 INFO L290 TraceCheckUtils]: 24: Hoare triple {4239#(<= 1 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4239#(<= 1 main_~i~0)} is VALID [2022-04-27 10:18:35,429 INFO L290 TraceCheckUtils]: 25: Hoare triple {4239#(<= 1 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4246#(<= 0 main_~i~0)} is VALID [2022-04-27 10:18:35,429 INFO L290 TraceCheckUtils]: 26: Hoare triple {4246#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {4143#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 28: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L272 TraceCheckUtils]: 29: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 30: Hoare triple {4143#false} ~cond := #in~cond; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 31: Hoare triple {4143#false} assume !(0 == ~cond); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 32: Hoare triple {4143#false} assume true; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4143#false} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 34: Hoare triple {4143#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 35: Hoare triple {4143#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 36: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L272 TraceCheckUtils]: 37: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {4143#false} ~cond := #in~cond; {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {4143#false} assume !(0 == ~cond); {4143#false} is VALID [2022-04-27 10:18:35,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {4143#false} assume true; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4143#false} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L290 TraceCheckUtils]: 42: Hoare triple {4143#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {4143#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L272 TraceCheckUtils]: 45: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L290 TraceCheckUtils]: 46: Hoare triple {4143#false} ~cond := #in~cond; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L290 TraceCheckUtils]: 47: Hoare triple {4143#false} assume 0 == ~cond; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L290 TraceCheckUtils]: 48: Hoare triple {4143#false} assume !false; {4143#false} is VALID [2022-04-27 10:18:35,431 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-27 10:18:35,431 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:18:35,673 INFO L290 TraceCheckUtils]: 48: Hoare triple {4143#false} assume !false; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 47: Hoare triple {4143#false} assume 0 == ~cond; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 46: Hoare triple {4143#false} ~cond := #in~cond; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L272 TraceCheckUtils]: 45: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 44: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 43: Hoare triple {4143#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 42: Hoare triple {4143#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4142#true} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 40: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 39: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 38: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-27 10:18:35,674 INFO L272 TraceCheckUtils]: 37: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4142#true} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 36: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {4143#false} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 34: Hoare triple {4143#false} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4142#true} {4143#false} #65#return; {4143#false} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 32: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-27 10:18:35,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-27 10:18:35,675 INFO L272 TraceCheckUtils]: 29: Hoare triple {4143#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4142#true} is VALID [2022-04-27 10:18:35,675 INFO L290 TraceCheckUtils]: 28: Hoare triple {4143#false} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4143#false} is VALID [2022-04-27 10:18:35,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {4143#false} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {4143#false} is VALID [2022-04-27 10:18:35,679 INFO L290 TraceCheckUtils]: 26: Hoare triple {4246#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {4143#false} is VALID [2022-04-27 10:18:35,680 INFO L290 TraceCheckUtils]: 25: Hoare triple {4239#(<= 1 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4246#(<= 0 main_~i~0)} is VALID [2022-04-27 10:18:35,680 INFO L290 TraceCheckUtils]: 24: Hoare triple {4239#(<= 1 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4239#(<= 1 main_~i~0)} is VALID [2022-04-27 10:18:35,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {4232#(<= 2 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4239#(<= 1 main_~i~0)} is VALID [2022-04-27 10:18:35,681 INFO L290 TraceCheckUtils]: 22: Hoare triple {4232#(<= 2 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4232#(<= 2 main_~i~0)} is VALID [2022-04-27 10:18:35,681 INFO L290 TraceCheckUtils]: 21: Hoare triple {4225#(<= 3 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4232#(<= 2 main_~i~0)} is VALID [2022-04-27 10:18:35,681 INFO L290 TraceCheckUtils]: 20: Hoare triple {4225#(<= 3 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4225#(<= 3 main_~i~0)} is VALID [2022-04-27 10:18:35,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {4403#(<= 4 main_~i~0)} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4225#(<= 3 main_~i~0)} is VALID [2022-04-27 10:18:35,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {4407#(or (not (<= 0 main_~i~0)) (<= 4 main_~i~0))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4403#(<= 4 main_~i~0)} is VALID [2022-04-27 10:18:35,683 INFO L290 TraceCheckUtils]: 17: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {4407#(or (not (<= 0 main_~i~0)) (<= 4 main_~i~0))} is VALID [2022-04-27 10:18:35,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,689 INFO L290 TraceCheckUtils]: 14: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,689 INFO L290 TraceCheckUtils]: 13: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,690 INFO L290 TraceCheckUtils]: 12: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,690 INFO L290 TraceCheckUtils]: 11: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,691 INFO L290 TraceCheckUtils]: 10: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {4142#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {4411#(<= 4 (mod (+ main_~max~0 4294967295) 4294967296))} is VALID [2022-04-27 10:18:35,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {4142#true} call #t~ret13 := main(); {4142#true} is VALID [2022-04-27 10:18:35,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4142#true} #67#return; {4142#true} is VALID [2022-04-27 10:18:35,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-27 10:18:35,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#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); {4142#true} is VALID [2022-04-27 10:18:35,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {4142#true} call ULTIMATE.init(); {4142#true} is VALID [2022-04-27 10:18:35,694 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 4 proven. 16 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-27 10:18:35,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [258338243] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:18:35,694 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:18:35,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8, 9] total 19 [2022-04-27 10:18:35,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062702678] [2022-04-27 10:18:35,695 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:18:35,695 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-27 10:18:35,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:18:35,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:18:35,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:35,747 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 10:18:35,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:18:35,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 10:18:35,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-27 10:18:35,748 INFO L87 Difference]: Start difference. First operand 54 states and 56 transitions. Second operand has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:18:36,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:36,730 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-04-27 10:18:36,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 10:18:36,731 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-27 10:18:36,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:18:36,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:18:36,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-27 10:18:36,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:18:36,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-27 10:18:36,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-04-27 10:18:36,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:36,801 INFO L225 Difference]: With dead ends: 89 [2022-04-27 10:18:36,801 INFO L226 Difference]: Without dead ends: 64 [2022-04-27 10:18:36,801 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=182, Invalid=520, Unknown=0, NotChecked=0, Total=702 [2022-04-27 10:18:36,802 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 88 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 243 mSolverCounterSat, 99 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 342 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 99 IncrementalHoareTripleChecker+Valid, 243 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:18:36,802 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 64 Invalid, 342 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [99 Valid, 243 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 10:18:36,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-27 10:18:36,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 54. [2022-04-27 10:18:36,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:18:36,944 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 54 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 45 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:36,945 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 54 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 45 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:36,945 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 54 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 45 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:36,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:36,947 INFO L93 Difference]: Finished difference Result 64 states and 67 transitions. [2022-04-27 10:18:36,947 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 67 transitions. [2022-04-27 10:18:36,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:36,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:36,947 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 45 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 64 states. [2022-04-27 10:18:36,948 INFO L87 Difference]: Start difference. First operand has 54 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 45 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 64 states. [2022-04-27 10:18:36,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:36,949 INFO L93 Difference]: Finished difference Result 64 states and 67 transitions. [2022-04-27 10:18:36,950 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 67 transitions. [2022-04-27 10:18:36,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:36,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:36,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:18:36,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:18:36,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 45 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:18:36,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-04-27 10:18:36,952 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 49 [2022-04-27 10:18:36,952 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:18:36,952 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-04-27 10:18:36,952 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.6315789473684212) internal successors, (50), 18 states have internal predecessors, (50), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:18:36,952 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-04-27 10:18:36,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 10:18:36,953 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:18:36,953 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:18:36,972 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 10:18:37,163 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:37,164 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:18:37,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:18:37,164 INFO L85 PathProgramCache]: Analyzing trace with hash 814759662, now seen corresponding path program 4 times [2022-04-27 10:18:37,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:18:37,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [963575706] [2022-04-27 10:18:37,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:18:37,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:18:37,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:38,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:18:38,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:38,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {4849#(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); {4815#true} is VALID [2022-04-27 10:18:38,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:38,539 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4815#true} {4815#true} #67#return; {4815#true} is VALID [2022-04-27 10:18:38,539 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-04-27 10:18:38,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:38,548 INFO L290 TraceCheckUtils]: 0: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-27 10:18:38,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-27 10:18:38,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:38,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #65#return; {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,550 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-04-27 10:18:38,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:38,555 INFO L290 TraceCheckUtils]: 0: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-27 10:18:38,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-27 10:18:38,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:38,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} #65#return; {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:38,556 INFO L272 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4849#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:18:38,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {4849#(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); {4815#true} is VALID [2022-04-27 10:18:38,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:38,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4815#true} #67#return; {4815#true} is VALID [2022-04-27 10:18:38,557 INFO L272 TraceCheckUtils]: 4: Hoare triple {4815#true} call #t~ret13 := main(); {4815#true} is VALID [2022-04-27 10:18:38,557 INFO L290 TraceCheckUtils]: 5: Hoare triple {4815#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,560 INFO L290 TraceCheckUtils]: 10: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,561 INFO L290 TraceCheckUtils]: 12: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,563 INFO L290 TraceCheckUtils]: 16: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,564 INFO L290 TraceCheckUtils]: 17: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {4821#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:38,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {4821#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4822#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:38,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {4822#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4823#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:38,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {4823#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4824#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (= |main_~#str1~0.offset| 0) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:38,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {4824#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (= |main_~#str1~0.offset| 0) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4825#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (not (= (+ main_~i~0 |main_~#str1~0.offset|) 2)) (and (<= main_~j~0 2) (<= 2 main_~j~0) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {4825#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (not (= (+ main_~i~0 |main_~#str1~0.offset|) 2)) (and (<= main_~j~0 2) (<= 2 main_~j~0) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4826#(and (= |main_~#str2~0.offset| 0) (or (not (= (+ main_~i~0 |main_~#str1~0.offset|) 2)) (and (<= 3 (+ main_~j~0 |main_~#str2~0.offset|)) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,573 INFO L290 TraceCheckUtils]: 23: Hoare triple {4826#(and (= |main_~#str2~0.offset| 0) (or (not (= (+ main_~i~0 |main_~#str1~0.offset|) 2)) (and (<= 3 (+ main_~j~0 |main_~#str2~0.offset|)) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293)))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4827#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (<= 2 (+ main_~i~0 |main_~#str1~0.offset|)) (and (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= 3 (+ main_~j~0 |main_~#str2~0.offset|)) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0))) (<= (+ main_~i~0 |main_~#str1~0.offset|) 0)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (<= 2 (+ main_~i~0 |main_~#str1~0.offset|)) (and (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= 3 (+ main_~j~0 |main_~#str2~0.offset|)) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0))) (<= (+ main_~i~0 |main_~#str1~0.offset|) 0)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4828#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) 2))) (<= 2 (+ main_~i~0 |main_~#str1~0.offset|)) (<= (+ main_~i~0 |main_~#str1~0.offset|) 0)))} is VALID [2022-04-27 10:18:38,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {4828#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) 2))) (<= 2 (+ main_~i~0 |main_~#str1~0.offset|)) (<= (+ main_~i~0 |main_~#str1~0.offset|) 0)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4829#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (<= 1 (+ main_~i~0 |main_~#str1~0.offset|)) (<= (+ main_~i~0 |main_~#str1~0.offset| 1) 0) (and (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) 2)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {4829#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (<= 1 (+ main_~i~0 |main_~#str1~0.offset|)) (<= (+ main_~i~0 |main_~#str1~0.offset| 1) 0) (and (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)) (not (= (+ main_~j~0 |main_~#str2~0.offset|) 2)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4830#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (<= 1 (+ main_~i~0 |main_~#str1~0.offset|)) (and (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {4830#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (<= 1 (+ main_~i~0 |main_~#str1~0.offset|)) (and (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4831#(and (= |main_~#str2~0.offset| 0) (or (and (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967290 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= 0 (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,579 INFO L290 TraceCheckUtils]: 28: Hoare triple {4831#(and (= |main_~#str2~0.offset| 0) (or (and (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967290 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= 0 (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 >= 0); {4832#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {4832#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,581 INFO L290 TraceCheckUtils]: 30: Hoare triple {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,582 INFO L272 TraceCheckUtils]: 31: Hoare triple {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4815#true} is VALID [2022-04-27 10:18:38,582 INFO L290 TraceCheckUtils]: 32: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-27 10:18:38,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-27 10:18:38,582 INFO L290 TraceCheckUtils]: 34: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:38,583 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4815#true} {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #65#return; {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:38,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {4833#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ main_~max~0 4294967295) (+ main_~j~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4838#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (= main_~i~0 0) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:38,585 INFO L290 TraceCheckUtils]: 37: Hoare triple {4838#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (= main_~i~0 0) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 3))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:38,586 INFO L290 TraceCheckUtils]: 38: Hoare triple {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:38,586 INFO L272 TraceCheckUtils]: 39: Hoare triple {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4815#true} is VALID [2022-04-27 10:18:38,586 INFO L290 TraceCheckUtils]: 40: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-27 10:18:38,586 INFO L290 TraceCheckUtils]: 41: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-27 10:18:38,586 INFO L290 TraceCheckUtils]: 42: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:38,587 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4815#true} {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} #65#return; {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:38,587 INFO L290 TraceCheckUtils]: 44: Hoare triple {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4844#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (= (select (select |#memory_int| |main_~#str1~0.base|) 2) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0))} is VALID [2022-04-27 10:18:38,588 INFO L290 TraceCheckUtils]: 45: Hoare triple {4844#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (= (select (select |#memory_int| |main_~#str1~0.base|) 2) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4845#(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) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= (+ main_~i~0 |main_~#str1~0.offset|) 2) (< 1 (+ main_~i~0 |main_~#str1~0.offset|)))} is VALID [2022-04-27 10:18:38,589 INFO L290 TraceCheckUtils]: 46: Hoare triple {4845#(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) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= (+ main_~i~0 |main_~#str1~0.offset|) 2) (< 1 (+ main_~i~0 |main_~#str1~0.offset|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4846#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:18:38,590 INFO L272 TraceCheckUtils]: 47: Hoare triple {4846#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4847#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:18:38,590 INFO L290 TraceCheckUtils]: 48: Hoare triple {4847#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4848#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:18:38,590 INFO L290 TraceCheckUtils]: 49: Hoare triple {4848#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4816#false} is VALID [2022-04-27 10:18:38,590 INFO L290 TraceCheckUtils]: 50: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2022-04-27 10:18:38,591 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 4 proven. 33 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-04-27 10:18:38,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:18:38,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [963575706] [2022-04-27 10:18:38,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [963575706] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:18:38,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1455999333] [2022-04-27 10:18:38,591 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 10:18:38,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:38,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:18:38,596 INFO L229 MonitoredProcess]: Starting monitored process 9 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:18:38,617 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 10:18:38,696 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 10:18:38,696 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:18:38,699 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-27 10:18:38,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:38,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:18:38,744 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:18:39,318 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 20 treesize of output 20 [2022-04-27 10:18:39,681 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:39,682 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 33 [2022-04-27 10:18:40,246 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:40,247 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 33 [2022-04-27 10:18:45,823 WARN L855 $PredicateComparison]: unable to prove that (exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |c_#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2)) (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)))) is different from true [2022-04-27 10:18:47,029 WARN L855 $PredicateComparison]: unable to prove that (exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |c_#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |c_#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2)))) is different from true [2022-04-27 10:18:47,693 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:18:47,695 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:18:47,696 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 10 [2022-04-27 10:18:47,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4815#true} is VALID [2022-04-27 10:18:47,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#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); {4815#true} is VALID [2022-04-27 10:18:47,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-27 10:18:47,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4815#true} #67#return; {4815#true} is VALID [2022-04-27 10:18:47,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {4815#true} call #t~ret13 := main(); {4815#true} is VALID [2022-04-27 10:18:47,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {4815#true} ~max~0 := 5;call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack((if ~max~0 % 4294967296 % 4294967296 <= 2147483647 then ~max~0 % 4294967296 % 4294967296 else ~max~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;havoc ~j~0;~i~0 := 0; {4868#(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:18:47,801 INFO L290 TraceCheckUtils]: 6: Hoare triple {4868#(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 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4868#(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:18:47,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {4868#(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~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4875#(and (= |main_~#str2~0.offset| 0) (= |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:18:47,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {4875#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4875#(and (= |main_~#str2~0.offset| 0) (= |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:18:47,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {4875#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4882#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,803 INFO L290 TraceCheckUtils]: 10: Hoare triple {4882#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4882#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {4882#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 2) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,804 INFO L290 TraceCheckUtils]: 13: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);assume -128 <= #t~nondet5 && #t~nondet5 <= 127;call write~int(#t~nondet5, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet5; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,805 INFO L290 TraceCheckUtils]: 15: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,805 INFO L290 TraceCheckUtils]: 16: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 % 4294967296 < ~max~0 % 4294967296); {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {4820#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296), 1);~j~0 := 0;~i~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296); {4821#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:47,807 INFO L290 TraceCheckUtils]: 18: Hoare triple {4821#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4822#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} is VALID [2022-04-27 10:18:47,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {4822#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (+ (- 1) (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0) 0)) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (= (+ (* (- 1) main_~i~0) (* (div (+ main_~max~0 4294967295) 4294967296) (- 4294967296)) main_~max~0 4294967295) 0))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4823#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:47,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {4823#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4824#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (= |main_~#str1~0.offset| 0) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} is VALID [2022-04-27 10:18:47,811 INFO L290 TraceCheckUtils]: 21: Hoare triple {4824#(and (= |main_~#str2~0.offset| 0) (or (<= (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967294)))) (= |main_~#str1~0.offset| 0) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (<= main_~max~0 (+ main_~i~0 2 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967294) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4919#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= main_~max~0 (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293))) (<= (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0)))} is VALID [2022-04-27 10:18:47,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {4919#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= main_~max~0 (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293))) (<= (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4923#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= main_~max~0 (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293))) (<= (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0)) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:47,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {4923#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (and (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (<= main_~max~0 (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ main_~max~0 4294967293) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (or (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ main_~max~0 4294967293))) (<= (+ main_~i~0 3 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0)) (<= main_~j~0 3))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4927#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))) (or (and (<= main_~max~0 (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (<= (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0)))) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:47,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {4927#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))) (or (and (<= main_~max~0 (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (or (<= (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0)))) (<= main_~j~0 3))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4931#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (<= main_~max~0 (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (exists ((v_main_~j~0_74 Int)) (and (<= 3 v_main_~j~0_74) (<= (+ v_main_~j~0_74 1) main_~j~0) (<= v_main_~j~0_74 3) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))))) (or (<= (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0)))))} is VALID [2022-04-27 10:18:47,817 INFO L290 TraceCheckUtils]: 25: Hoare triple {4931#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (or (and (<= main_~max~0 (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (<= (+ 4294967292 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (exists ((v_main_~j~0_74 Int)) (and (<= 3 v_main_~j~0_74) (<= (+ v_main_~j~0_74 1) main_~j~0) (<= v_main_~j~0_74 3) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset| 1))))) (or (<= (+ main_~i~0 4 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967292 main_~max~0)))))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4935#(and (= |main_~#str2~0.offset| 0) (or (<= (+ 5 main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)))) (exists ((v_main_~j~0_74 Int)) (and (<= 3 v_main_~j~0_74) (<= (+ v_main_~j~0_74 1) main_~j~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 2 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|))) (<= v_main_~j~0_74 3))) (= |main_~#str1~0.offset| 0) (or (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (and (<= main_~max~0 (+ 5 main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {4935#(and (= |main_~#str2~0.offset| 0) (or (<= (+ 5 main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) main_~max~0) (and (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)))) (exists ((v_main_~j~0_74 Int)) (and (<= 3 v_main_~j~0_74) (<= (+ v_main_~j~0_74 1) main_~j~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 2 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|))) (<= v_main_~j~0_74 3))) (= |main_~#str1~0.offset| 0) (or (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (and (<= main_~max~0 (+ 5 main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (not (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))))) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call write~int(#t~mem7, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem7;#t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {4939#(and (= |main_~#str2~0.offset| 0) (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= |main_~#str1~0.offset| 0) (exists ((v_main_~j~0_74 Int)) (and (<= 3 v_main_~j~0_74) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 2 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|))) (<= v_main_~j~0_74 3))) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)))} is VALID [2022-04-27 10:18:47,820 INFO L290 TraceCheckUtils]: 27: Hoare triple {4939#(and (= |main_~#str2~0.offset| 0) (<= (+ 4294967291 main_~max~0) (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= |main_~#str1~0.offset| 0) (exists ((v_main_~j~0_74 Int)) (and (<= 3 v_main_~j~0_74) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 2 |main_~#str1~0.offset|)) (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|))) (<= v_main_~j~0_74 3))) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= (+ main_~i~0 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)))} #t~post6 := ~i~0;~i~0 := #t~post6 - 1;havoc #t~post6; {4943#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (exists ((v_main_~i~0_114 Int) (v_main_~j~0_74 Int)) (and (<= (+ v_main_~i~0_114 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)) (<= (+ 4294967291 main_~max~0) (+ v_main_~i~0_114 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ 2 |main_~#str1~0.offset| v_main_~i~0_114))) (<= 3 v_main_~j~0_74) (<= v_main_~j~0_74 3) (<= 0 v_main_~i~0_114) (<= v_main_~i~0_114 (+ main_~i~0 1)))) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,821 INFO L290 TraceCheckUtils]: 28: Hoare triple {4943#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (exists ((v_main_~i~0_114 Int) (v_main_~j~0_74 Int)) (and (<= (+ v_main_~i~0_114 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (+ 4294967291 main_~max~0)) (<= (+ 4294967291 main_~max~0) (+ v_main_~i~0_114 (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296))) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ v_main_~j~0_74 (- 1) |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ 2 |main_~#str1~0.offset| v_main_~i~0_114))) (<= 3 v_main_~j~0_74) (<= v_main_~j~0_74 3) (<= 0 v_main_~i~0_114) (<= v_main_~i~0_114 (+ main_~i~0 1)))) (<= (+ main_~max~0 2147483648) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 >= 0); {4832#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:18:47,823 INFO L290 TraceCheckUtils]: 29: Hoare triple {4832#(and (= |main_~#str2~0.offset| 0) (<= (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296) (+ 4294967291 main_~max~0)) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= (+ 4294967291 main_~max~0) (* (div (+ main_~max~0 4294967295) 4294967296) 4294967296)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~j~0 := (if (~max~0 - 1) % 4294967296 % 4294967296 <= 2147483647 then (~max~0 - 1) % 4294967296 % 4294967296 else (~max~0 - 1) % 4294967296 % 4294967296 - 4294967296);~i~0 := 0; {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} is VALID [2022-04-27 10:18:47,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} is VALID [2022-04-27 10:18:47,825 INFO L272 TraceCheckUtils]: 31: Hoare triple {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} is VALID [2022-04-27 10:18:47,826 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} ~cond := #in~cond; {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} is VALID [2022-04-27 10:18:47,827 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} assume !(0 == ~cond); {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} is VALID [2022-04-27 10:18:47,827 INFO L290 TraceCheckUtils]: 34: Hoare triple {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} assume true; {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} is VALID [2022-04-27 10:18:47,828 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4957#(exists ((|v_main_~#str2~0.base_BEFORE_CALL_5| Int) (|v_main_~#str1~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_5| |v_main_~#str1~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_5|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_5|) 2))))} {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} #65#return; {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} is VALID [2022-04-27 10:18:47,831 INFO L290 TraceCheckUtils]: 36: Hoare triple {4950#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= 0 main_~j~0) (< main_~j~0 4294967296) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (< (+ (div main_~j~0 (- 4294967296)) (div (+ main_~j~0 (- 4)) (- 4294967296))) (+ (div (+ 4294967295 (* (- 1) main_~j~0)) 4294967296) (div (+ (* (- 1) main_~j~0) 4) 4294967296) 1)))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4838#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (= main_~i~0 0) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:47,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {4838#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (= main_~i~0 0) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 3))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:47,832 INFO L290 TraceCheckUtils]: 38: Hoare triple {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:47,833 INFO L272 TraceCheckUtils]: 39: Hoare triple {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} is VALID [2022-04-27 10:18:47,833 INFO L290 TraceCheckUtils]: 40: Hoare triple {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} ~cond := #in~cond; {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} is VALID [2022-04-27 10:18:47,834 INFO L290 TraceCheckUtils]: 41: Hoare triple {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} assume !(0 == ~cond); {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} is VALID [2022-04-27 10:18:47,834 INFO L290 TraceCheckUtils]: 42: Hoare triple {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} assume true; {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} is VALID [2022-04-27 10:18:47,835 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4982#(exists ((|v_main_~#str1~0.base_BEFORE_CALL_6| Int) (|v_main_~#str2~0.base_BEFORE_CALL_6| Int)) (and (not (= |v_main_~#str2~0.base_BEFORE_CALL_6| |v_main_~#str1~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#str1~0.base_BEFORE_CALL_6|) 2) (select (select |#memory_int| |v_main_~#str2~0.base_BEFORE_CALL_6|) 2))))} {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} #65#return; {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} is VALID [2022-04-27 10:18:47,836 INFO L290 TraceCheckUtils]: 44: Hoare triple {4839#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~i~0 1) (<= 3 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0) (<= main_~j~0 3))} havoc #t~mem10;havoc #t~mem11;#t~post12 := ~j~0;~j~0 := #t~post12 - 1;havoc #t~post12; {4998#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~j~0 2) (<= main_~i~0 1) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0))} is VALID [2022-04-27 10:18:47,836 INFO L290 TraceCheckUtils]: 45: Hoare triple {4998#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~j~0 2) (<= main_~i~0 1) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0))} #t~post9 := ~i~0;~i~0 := 1 + #t~post9;havoc #t~post9; {5002#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~i~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} is VALID [2022-04-27 10:18:47,837 INFO L290 TraceCheckUtils]: 46: Hoare triple {5002#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~i~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 2) (select (select |#memory_int| |main_~#str1~0.base|) 2)) (<= main_~j~0 2) (<= 2 main_~j~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} assume !!(~i~0 % 4294967296 < ~max~0 % 4294967296);call #t~mem10 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem11 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {4846#(= |main_#t~mem11| |main_#t~mem10|)} is VALID [2022-04-27 10:18:47,837 INFO L272 TraceCheckUtils]: 47: Hoare triple {4846#(= |main_#t~mem11| |main_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {5009#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:47,838 INFO L290 TraceCheckUtils]: 48: Hoare triple {5009#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5013#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:47,838 INFO L290 TraceCheckUtils]: 49: Hoare triple {5013#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4816#false} is VALID [2022-04-27 10:18:47,838 INFO L290 TraceCheckUtils]: 50: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2022-04-27 10:18:47,839 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 54 refuted. 0 times theorem prover too weak. 4 trivial. 8 not checked. [2022-04-27 10:18:47,839 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:18:49,421 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:18:49,421 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 1006 treesize of output 942 [2022-04-27 10:21:34,957 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:21:34,969 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:21:34,970 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 4299 treesize of output 3815 [2022-04-27 10:25:37,258 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:25:37,259 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 69 treesize of output 57 [2022-04-27 10:25:37,277 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:25:37,283 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 205 treesize of output 187 [2022-04-27 10:25:37,378 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:25:37,386 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:25:37,393 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:25:37,393 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 284 treesize of output 230 [2022-04-27 10:25:37,466 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:25:37,467 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 28 [2022-04-27 10:25:37,478 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:25:37,479 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:25:37,479 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:25:37,500 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:25:37,501 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 28 [2022-04-27 10:25:37,515 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:25:37,520 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 105 treesize of output 96 [2022-04-27 10:25:37,572 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-27 10:25:37,586 INFO L356 Elim1Store]: treesize reduction 5, result has 70.6 percent of original size [2022-04-27 10:25:37,586 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 487 treesize of output 431 [2022-04-27 10:25:37,733 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:25:37,734 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 153 treesize of output 133 [2022-04-27 10:25:37,748 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 732 treesize of output 705 [2022-04-27 10:25:38,892 INFO L356 Elim1Store]: treesize reduction 16, result has 5.9 percent of original size [2022-04-27 10:25:38,893 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 1594 treesize of output 1490 [2022-04-27 10:25:39,334 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:25:39,335 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 1006 treesize of output 942