./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/array-memsafety/openbsd_cstrcmp-alloca-1.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/array-memsafety/openbsd_cstrcmp-alloca-1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 34ebd55fb329f5d1f91a7448416ebb87d44ad143bdc373b65c05d35b2199abdd --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:40:44,957 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:40:44,959 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:40:44,986 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:40:44,988 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:40:44,991 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:40:44,993 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:40:44,998 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:40:45,000 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:40:45,005 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:40:45,006 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:40:45,007 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:40:45,007 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:40:45,009 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:40:45,010 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:40:45,012 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:40:45,013 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:40:45,013 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:40:45,017 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:40:45,021 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:40:45,022 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:40:45,023 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:40:45,025 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:40:45,026 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:40:45,029 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:40:45,029 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:40:45,029 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:40:45,031 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:40:45,031 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:40:45,032 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:40:45,032 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:40:45,033 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:40:45,034 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:40:45,035 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:40:45,036 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:40:45,036 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:40:45,037 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:40:45,037 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:40:45,037 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:40:45,038 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:40:45,038 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:40:45,039 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:40:45,066 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:40:45,066 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:40:45,066 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:40:45,067 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:40:45,067 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:40:45,068 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:40:45,068 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:40:45,068 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:40:45,068 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:40:45,068 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:40:45,069 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:40:45,069 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:40:45,069 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:40:45,070 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:40:45,071 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:40:45,071 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:40:45,071 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:40:45,071 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:40:45,071 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:40:45,071 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:40:45,071 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:40:45,072 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:40:45,072 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:40:45,073 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:40:45,073 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 34ebd55fb329f5d1f91a7448416ebb87d44ad143bdc373b65c05d35b2199abdd [2022-02-20 23:40:45,292 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:40:45,318 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:40:45,319 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:40:45,320 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:40:45,321 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:40:45,321 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety/openbsd_cstrcmp-alloca-1.i [2022-02-20 23:40:45,374 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ec1ad27e7/7077a76fdced4ab1bac7f1b9eb1d44b7/FLAG6888274b6 [2022-02-20 23:40:45,797 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:40:45,797 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety/openbsd_cstrcmp-alloca-1.i [2022-02-20 23:40:45,817 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ec1ad27e7/7077a76fdced4ab1bac7f1b9eb1d44b7/FLAG6888274b6 [2022-02-20 23:40:45,829 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ec1ad27e7/7077a76fdced4ab1bac7f1b9eb1d44b7 [2022-02-20 23:40:45,833 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:40:45,834 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:40:45,836 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:40:45,836 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:40:45,838 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:40:45,843 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:40:45" (1/1) ... [2022-02-20 23:40:45,844 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@77fcbbac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:45, skipping insertion in model container [2022-02-20 23:40:45,844 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:40:45" (1/1) ... [2022-02-20 23:40:45,850 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:40:45,887 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:40:46,159 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:40:46,166 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:40:46,200 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:40:46,228 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:40:46,228 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46 WrapperNode [2022-02-20 23:40:46,229 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:40:46,229 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:40:46,230 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:40:46,230 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:40:46,235 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,246 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,263 INFO L137 Inliner]: procedures = 117, calls = 18, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 91 [2022-02-20 23:40:46,264 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:40:46,265 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:40:46,265 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:40:46,265 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:40:46,270 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,271 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,283 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,284 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,295 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,303 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,305 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,306 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:40:46,307 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:40:46,307 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:40:46,307 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:40:46,308 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (1/1) ... [2022-02-20 23:40:46,317 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:40:46,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:46,337 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-02-20 23:40:46,342 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-02-20 23:40:46,361 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:40:46,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:40:46,364 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:40:46,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:40:46,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:40:46,364 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:40:46,422 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:40:46,423 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:40:46,694 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:40:46,699 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:40:46,700 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:40:46,702 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:40:46 BoogieIcfgContainer [2022-02-20 23:40:46,702 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:40:46,704 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:40:46,704 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:40:46,707 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:40:46,707 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:40:45" (1/3) ... [2022-02-20 23:40:46,708 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@66bcf0d7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:40:46, skipping insertion in model container [2022-02-20 23:40:46,708 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:46" (2/3) ... [2022-02-20 23:40:46,708 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@66bcf0d7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:40:46, skipping insertion in model container [2022-02-20 23:40:46,708 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:40:46" (3/3) ... [2022-02-20 23:40:46,709 INFO L111 eAbstractionObserver]: Analyzing ICFG openbsd_cstrcmp-alloca-1.i [2022-02-20 23:40:46,713 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:40:46,713 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 19 error locations. [2022-02-20 23:40:46,747 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:40:46,752 INFO L339 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=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:40:46,753 INFO L340 AbstractCegarLoop]: Starting to check reachability of 19 error locations. [2022-02-20 23:40:46,765 INFO L276 IsEmpty]: Start isEmpty. Operand has 50 states, 30 states have (on average 1.9333333333333333) internal successors, (58), 49 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:46,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:40:46,769 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:46,770 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:46,770 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:46,773 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:46,774 INFO L85 PathProgramCache]: Analyzing trace with hash 1805029096, now seen corresponding path program 1 times [2022-02-20 23:40:46,780 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:46,781 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324258909] [2022-02-20 23:40:46,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:46,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:46,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:46,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {53#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {53#true} is VALID [2022-02-20 23:40:46,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {53#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {53#true} is VALID [2022-02-20 23:40:46,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {53#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {55#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:40:46,986 INFO L290 TraceCheckUtils]: 3: Hoare triple {55#(<= |ULTIMATE.start_main_~length1~0#1| 1)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {55#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:40:46,987 INFO L290 TraceCheckUtils]: 4: Hoare triple {55#(<= |ULTIMATE.start_main_~length1~0#1| 1)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {56#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:40:46,989 INFO L290 TraceCheckUtils]: 5: Hoare triple {56#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {54#false} is VALID [2022-02-20 23:40:46,989 INFO L290 TraceCheckUtils]: 6: Hoare triple {54#false} assume !(1 == #valid[main_~nondetString1~0#1.base]); {54#false} is VALID [2022-02-20 23:40:46,990 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:46,991 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:46,991 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1324258909] [2022-02-20 23:40:46,991 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1324258909] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:46,992 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:46,992 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:46,994 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1321893854] [2022-02-20 23:40:46,995 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:46,998 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:46,999 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:47,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,011 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:47,012 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:47,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:47,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:47,032 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.9333333333333333) internal successors, (58), 49 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,198 INFO L93 Difference]: Finished difference Result 92 states and 100 transitions. [2022-02-20 23:40:47,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:47,199 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:47,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:47,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 107 transitions. [2022-02-20 23:40:47,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 107 transitions. [2022-02-20 23:40:47,214 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 107 transitions. [2022-02-20 23:40:47,310 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,320 INFO L225 Difference]: With dead ends: 92 [2022-02-20 23:40:47,321 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 23:40:47,322 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:47,324 INFO L933 BasicCegarLoop]: 51 mSDtfsCounter, 44 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:47,325 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 142 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:47,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 23:40:47,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 51. [2022-02-20 23:40:47,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:47,343 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 51 states, 32 states have (on average 1.78125) internal successors, (57), 50 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,344 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 51 states, 32 states have (on average 1.78125) internal successors, (57), 50 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,346 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 51 states, 32 states have (on average 1.78125) internal successors, (57), 50 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,351 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-02-20 23:40:47,351 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-02-20 23:40:47,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,353 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 32 states have (on average 1.78125) internal successors, (57), 50 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 88 states. [2022-02-20 23:40:47,353 INFO L87 Difference]: Start difference. First operand has 51 states, 32 states have (on average 1.78125) internal successors, (57), 50 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 88 states. [2022-02-20 23:40:47,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,360 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-02-20 23:40:47,360 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-02-20 23:40:47,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,361 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:47,361 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:47,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 32 states have (on average 1.78125) internal successors, (57), 50 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 57 transitions. [2022-02-20 23:40:47,367 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 57 transitions. Word has length 7 [2022-02-20 23:40:47,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:47,367 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 57 transitions. [2022-02-20 23:40:47,368 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,368 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2022-02-20 23:40:47,369 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:40:47,369 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:47,369 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:47,369 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:40:47,370 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:47,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:47,371 INFO L85 PathProgramCache]: Analyzing trace with hash 1806876138, now seen corresponding path program 1 times [2022-02-20 23:40:47,371 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:47,372 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1844307559] [2022-02-20 23:40:47,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:47,372 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:47,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:47,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {378#true} is VALID [2022-02-20 23:40:47,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {378#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {378#true} is VALID [2022-02-20 23:40:47,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {378#true} assume !(main_~length1~0#1 < 1); {378#true} is VALID [2022-02-20 23:40:47,420 INFO L290 TraceCheckUtils]: 3: Hoare triple {378#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {378#true} is VALID [2022-02-20 23:40:47,421 INFO L290 TraceCheckUtils]: 4: Hoare triple {378#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {380#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:40:47,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {380#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {380#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:40:47,422 INFO L290 TraceCheckUtils]: 6: Hoare triple {380#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(1 == #valid[main_~nondetString1~0#1.base]); {379#false} is VALID [2022-02-20 23:40:47,422 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:47,422 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:47,422 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1844307559] [2022-02-20 23:40:47,423 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1844307559] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:47,423 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:47,423 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:40:47,423 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1000555142] [2022-02-20 23:40:47,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:47,424 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:47,424 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:47,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,430 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:40:47,430 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:47,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:40:47,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:47,431 INFO L87 Difference]: Start difference. First operand 51 states and 57 transitions. Second operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,485 INFO L93 Difference]: Finished difference Result 49 states and 55 transitions. [2022-02-20 23:40:47,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:40:47,486 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:47,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:47,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 53 transitions. [2022-02-20 23:40:47,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 53 transitions. [2022-02-20 23:40:47,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 53 transitions. [2022-02-20 23:40:47,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,538 INFO L225 Difference]: With dead ends: 49 [2022-02-20 23:40:47,538 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 23:40:47,538 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:47,543 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 41 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:47,543 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 35 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:47,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 23:40:47,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2022-02-20 23:40:47,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:47,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 49 states, 32 states have (on average 1.71875) internal successors, (55), 48 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,550 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 49 states, 32 states have (on average 1.71875) internal successors, (55), 48 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,551 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 49 states, 32 states have (on average 1.71875) internal successors, (55), 48 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,553 INFO L93 Difference]: Finished difference Result 49 states and 55 transitions. [2022-02-20 23:40:47,553 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2022-02-20 23:40:47,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,555 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 32 states have (on average 1.71875) internal successors, (55), 48 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 23:40:47,555 INFO L87 Difference]: Start difference. First operand has 49 states, 32 states have (on average 1.71875) internal successors, (55), 48 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 23:40:47,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,558 INFO L93 Difference]: Finished difference Result 49 states and 55 transitions. [2022-02-20 23:40:47,558 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2022-02-20 23:40:47,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:47,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:47,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 32 states have (on average 1.71875) internal successors, (55), 48 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 55 transitions. [2022-02-20 23:40:47,563 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 55 transitions. Word has length 7 [2022-02-20 23:40:47,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:47,563 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 55 transitions. [2022-02-20 23:40:47,563 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,563 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2022-02-20 23:40:47,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:40:47,564 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:47,564 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:47,564 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:40:47,564 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:47,565 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:47,565 INFO L85 PathProgramCache]: Analyzing trace with hash 1806876139, now seen corresponding path program 1 times [2022-02-20 23:40:47,565 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:47,565 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1305518896] [2022-02-20 23:40:47,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:47,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:47,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:47,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {579#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {579#true} is VALID [2022-02-20 23:40:47,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {579#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {579#true} is VALID [2022-02-20 23:40:47,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {579#true} assume !(main_~length1~0#1 < 1); {579#true} is VALID [2022-02-20 23:40:47,647 INFO L290 TraceCheckUtils]: 3: Hoare triple {579#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {581#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:47,648 INFO L290 TraceCheckUtils]: 4: Hoare triple {581#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {582#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:47,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {582#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {583#(and (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:47,650 INFO L290 TraceCheckUtils]: 6: Hoare triple {583#(and (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {580#false} is VALID [2022-02-20 23:40:47,650 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:47,650 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:47,650 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1305518896] [2022-02-20 23:40:47,650 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1305518896] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:47,651 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:47,651 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:47,651 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [228873646] [2022-02-20 23:40:47,651 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:47,651 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:47,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:47,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,657 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:47,657 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:47,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:47,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:47,658 INFO L87 Difference]: Start difference. First operand 49 states and 55 transitions. Second operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,846 INFO L93 Difference]: Finished difference Result 89 states and 98 transitions. [2022-02-20 23:40:47,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:47,846 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:47,846 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:47,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 95 transitions. [2022-02-20 23:40:47,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 95 transitions. [2022-02-20 23:40:47,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 95 transitions. [2022-02-20 23:40:47,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,930 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:40:47,931 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:40:47,931 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:40:47,932 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 159 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:47,932 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [159 Valid, 57 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:47,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:40:47,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 51. [2022-02-20 23:40:47,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:47,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 51 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 50 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,935 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 51 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 50 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,935 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 51 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 50 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,937 INFO L93 Difference]: Finished difference Result 89 states and 98 transitions. [2022-02-20 23:40:47,937 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2022-02-20 23:40:47,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,938 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 50 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 89 states. [2022-02-20 23:40:47,938 INFO L87 Difference]: Start difference. First operand has 51 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 50 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 89 states. [2022-02-20 23:40:47,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,940 INFO L93 Difference]: Finished difference Result 89 states and 98 transitions. [2022-02-20 23:40:47,940 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2022-02-20 23:40:47,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,940 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:47,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:47,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 50 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 58 transitions. [2022-02-20 23:40:47,942 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 58 transitions. Word has length 7 [2022-02-20 23:40:47,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:47,942 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 58 transitions. [2022-02-20 23:40:47,942 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,942 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-02-20 23:40:47,942 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:40:47,943 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:47,943 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:47,943 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:40:47,943 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:47,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:47,944 INFO L85 PathProgramCache]: Analyzing trace with hash -533876960, now seen corresponding path program 1 times [2022-02-20 23:40:47,944 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:47,944 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [800057978] [2022-02-20 23:40:47,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:47,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:47,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:47,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {908#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {908#true} is VALID [2022-02-20 23:40:47,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {908#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {908#true} is VALID [2022-02-20 23:40:47,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {908#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {910#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:48,000 INFO L290 TraceCheckUtils]: 3: Hoare triple {910#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {910#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:48,001 INFO L290 TraceCheckUtils]: 4: Hoare triple {910#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:48,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:48,002 INFO L290 TraceCheckUtils]: 6: Hoare triple {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:48,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:48,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {911#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1)) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1)); {909#false} is VALID [2022-02-20 23:40:48,003 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:48,003 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:48,003 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [800057978] [2022-02-20 23:40:48,003 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [800057978] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:48,003 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:48,004 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:40:48,004 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075480687] [2022-02-20 23:40:48,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:48,004 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:48,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,012 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:48,012 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:48,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:48,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,013 INFO L87 Difference]: Start difference. First operand 51 states and 58 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,081 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-02-20 23:40:48,081 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:48,081 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:48,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 51 transitions. [2022-02-20 23:40:48,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 51 transitions. [2022-02-20 23:40:48,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 51 transitions. [2022-02-20 23:40:48,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,128 INFO L225 Difference]: With dead ends: 50 [2022-02-20 23:40:48,128 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 23:40:48,128 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,129 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 85 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 32 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:48,129 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 32 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:48,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 23:40:48,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-02-20 23:40:48,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:48,132 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 49 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,132 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 49 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,132 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 49 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,133 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-02-20 23:40:48,133 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-02-20 23:40:48,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,134 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 49 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 23:40:48,134 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 49 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 23:40:48,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,143 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-02-20 23:40:48,143 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-02-20 23:40:48,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:48,143 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:48,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 49 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2022-02-20 23:40:48,145 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 9 [2022-02-20 23:40:48,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:48,145 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2022-02-20 23:40:48,145 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,145 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-02-20 23:40:48,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:40:48,146 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:48,146 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:48,146 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:40:48,146 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:48,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:48,147 INFO L85 PathProgramCache]: Analyzing trace with hash -533876908, now seen corresponding path program 1 times [2022-02-20 23:40:48,147 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:48,147 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145939069] [2022-02-20 23:40:48,147 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:48,147 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:48,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:48,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {1114#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1114#true} is VALID [2022-02-20 23:40:48,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {1114#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {1114#true} is VALID [2022-02-20 23:40:48,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {1114#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1114#true} is VALID [2022-02-20 23:40:48,182 INFO L290 TraceCheckUtils]: 3: Hoare triple {1114#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1116#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:40:48,182 INFO L290 TraceCheckUtils]: 4: Hoare triple {1116#(<= |ULTIMATE.start_main_~length2~0#1| 1)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {1116#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:40:48,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#(<= |ULTIMATE.start_main_~length2~0#1| 1)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1116#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:40:48,183 INFO L290 TraceCheckUtils]: 6: Hoare triple {1116#(<= |ULTIMATE.start_main_~length2~0#1| 1)} main_~i~1#1 := 0; {1117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:40:48,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {1117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {1115#false} is VALID [2022-02-20 23:40:48,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {1115#false} assume !(1 == #valid[main_~nondetString2~0#1.base]); {1115#false} is VALID [2022-02-20 23:40:48,183 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:48,184 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:48,184 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2145939069] [2022-02-20 23:40:48,184 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2145939069] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:48,184 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:48,184 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:48,184 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [430737088] [2022-02-20 23:40:48,185 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:48,185 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:48,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,191 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:48,191 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:48,192 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:48,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,192 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,261 INFO L93 Difference]: Finished difference Result 90 states and 100 transitions. [2022-02-20 23:40:48,261 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:48,261 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:48,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2022-02-20 23:40:48,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2022-02-20 23:40:48,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 89 transitions. [2022-02-20 23:40:48,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,329 INFO L225 Difference]: With dead ends: 90 [2022-02-20 23:40:48,329 INFO L226 Difference]: Without dead ends: 90 [2022-02-20 23:40:48,329 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,330 INFO L933 BasicCegarLoop]: 46 mSDtfsCounter, 66 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:48,330 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [66 Valid, 94 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:48,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-02-20 23:40:48,332 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 61. [2022-02-20 23:40:48,333 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:48,333 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 61 states, 45 states have (on average 1.5777777777777777) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,333 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 61 states, 45 states have (on average 1.5777777777777777) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,333 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 61 states, 45 states have (on average 1.5777777777777777) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,335 INFO L93 Difference]: Finished difference Result 90 states and 100 transitions. [2022-02-20 23:40:48,335 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 100 transitions. [2022-02-20 23:40:48,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 45 states have (on average 1.5777777777777777) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 90 states. [2022-02-20 23:40:48,336 INFO L87 Difference]: Start difference. First operand has 61 states, 45 states have (on average 1.5777777777777777) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 90 states. [2022-02-20 23:40:48,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,338 INFO L93 Difference]: Finished difference Result 90 states and 100 transitions. [2022-02-20 23:40:48,338 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 100 transitions. [2022-02-20 23:40:48,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,338 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:48,338 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:48,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 45 states have (on average 1.5777777777777777) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-02-20 23:40:48,340 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 9 [2022-02-20 23:40:48,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:48,340 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-02-20 23:40:48,340 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,340 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-02-20 23:40:48,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:40:48,341 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:48,341 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:48,341 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:40:48,341 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:48,341 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:48,342 INFO L85 PathProgramCache]: Analyzing trace with hash -476618606, now seen corresponding path program 1 times [2022-02-20 23:40:48,342 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:48,342 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492916556] [2022-02-20 23:40:48,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:48,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:48,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:48,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {1451#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1451#true} is VALID [2022-02-20 23:40:48,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {1451#true} is VALID [2022-02-20 23:40:48,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1451#true} is VALID [2022-02-20 23:40:48,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {1451#true} assume !(main_~length2~0#1 < 1); {1451#true} is VALID [2022-02-20 23:40:48,366 INFO L290 TraceCheckUtils]: 4: Hoare triple {1451#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:40:48,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:40:48,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} main_~i~1#1 := 0; {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:40:48,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:40:48,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {1453#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(1 == #valid[main_~nondetString2~0#1.base]); {1452#false} is VALID [2022-02-20 23:40:48,368 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:48,368 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:48,368 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1492916556] [2022-02-20 23:40:48,368 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1492916556] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:48,369 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:48,369 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:40:48,369 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2130453014] [2022-02-20 23:40:48,369 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:48,369 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:48,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,375 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:40:48,375 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:48,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:40:48,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:48,376 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. Second operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,419 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-20 23:40:48,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:40:48,419 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:48,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 50 transitions. [2022-02-20 23:40:48,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 50 transitions. [2022-02-20 23:40:48,422 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 50 transitions. [2022-02-20 23:40:48,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,459 INFO L225 Difference]: With dead ends: 59 [2022-02-20 23:40:48,459 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 23:40:48,459 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:48,460 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 36 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:48,460 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 34 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:48,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 23:40:48,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2022-02-20 23:40:48,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:48,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 59 states, 45 states have (on average 1.5333333333333334) internal successors, (69), 58 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,463 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 59 states, 45 states have (on average 1.5333333333333334) internal successors, (69), 58 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,463 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 59 states, 45 states have (on average 1.5333333333333334) internal successors, (69), 58 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,464 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-20 23:40:48,464 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-20 23:40:48,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,464 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 45 states have (on average 1.5333333333333334) internal successors, (69), 58 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 59 states. [2022-02-20 23:40:48,465 INFO L87 Difference]: Start difference. First operand has 59 states, 45 states have (on average 1.5333333333333334) internal successors, (69), 58 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 59 states. [2022-02-20 23:40:48,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,466 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-20 23:40:48,466 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-20 23:40:48,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:48,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:48,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 45 states have (on average 1.5333333333333334) internal successors, (69), 58 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-02-20 23:40:48,468 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 9 [2022-02-20 23:40:48,468 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:48,468 INFO L470 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-02-20 23:40:48,468 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,468 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-20 23:40:48,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:40:48,469 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:48,469 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:48,469 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:40:48,469 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:48,469 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:48,469 INFO L85 PathProgramCache]: Analyzing trace with hash -476618605, now seen corresponding path program 1 times [2022-02-20 23:40:48,469 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:48,470 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [67571532] [2022-02-20 23:40:48,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:48,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:48,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:48,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {1692#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1692#true} is VALID [2022-02-20 23:40:48,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {1692#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {1692#true} is VALID [2022-02-20 23:40:48,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {1692#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1692#true} is VALID [2022-02-20 23:40:48,523 INFO L290 TraceCheckUtils]: 3: Hoare triple {1692#true} assume !(main_~length2~0#1 < 1); {1692#true} is VALID [2022-02-20 23:40:48,524 INFO L290 TraceCheckUtils]: 4: Hoare triple {1692#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {1694#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:48,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1694#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:48,525 INFO L290 TraceCheckUtils]: 6: Hoare triple {1694#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_~i~1#1 := 0; {1695#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:48,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {1696#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:48,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {1696#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {1693#false} is VALID [2022-02-20 23:40:48,526 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:48,526 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:48,526 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [67571532] [2022-02-20 23:40:48,527 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [67571532] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:48,527 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:48,527 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:48,527 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1146604916] [2022-02-20 23:40:48,527 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:48,527 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,527 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:48,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,533 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,534 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:48,534 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:48,534 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:48,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:48,534 INFO L87 Difference]: Start difference. First operand 59 states and 69 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,748 INFO L93 Difference]: Finished difference Result 90 states and 102 transitions. [2022-02-20 23:40:48,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:48,748 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:48,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:48,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-02-20 23:40:48,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-02-20 23:40:48,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2022-02-20 23:40:48,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,828 INFO L225 Difference]: With dead ends: 90 [2022-02-20 23:40:48,828 INFO L226 Difference]: Without dead ends: 90 [2022-02-20 23:40:48,828 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:40:48,829 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 106 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 70 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 70 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:48,829 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [106 Valid, 73 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 70 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:48,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-02-20 23:40:48,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 61. [2022-02-20 23:40:48,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:48,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 61 states, 47 states have (on average 1.5319148936170213) internal successors, (72), 60 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,832 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 61 states, 47 states have (on average 1.5319148936170213) internal successors, (72), 60 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,832 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 61 states, 47 states have (on average 1.5319148936170213) internal successors, (72), 60 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,833 INFO L93 Difference]: Finished difference Result 90 states and 102 transitions. [2022-02-20 23:40:48,833 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 102 transitions. [2022-02-20 23:40:48,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,834 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 47 states have (on average 1.5319148936170213) internal successors, (72), 60 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 90 states. [2022-02-20 23:40:48,834 INFO L87 Difference]: Start difference. First operand has 61 states, 47 states have (on average 1.5319148936170213) internal successors, (72), 60 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 90 states. [2022-02-20 23:40:48,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,836 INFO L93 Difference]: Finished difference Result 90 states and 102 transitions. [2022-02-20 23:40:48,836 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 102 transitions. [2022-02-20 23:40:48,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,836 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:48,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:48,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 47 states have (on average 1.5319148936170213) internal successors, (72), 60 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 72 transitions. [2022-02-20 23:40:48,838 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 72 transitions. Word has length 9 [2022-02-20 23:40:48,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:48,838 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 72 transitions. [2022-02-20 23:40:48,838 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,838 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 72 transitions. [2022-02-20 23:40:48,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 23:40:48,839 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:48,839 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:48,839 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 23:40:48,839 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:48,839 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:48,840 INFO L85 PathProgramCache]: Analyzing trace with hash 629683418, now seen corresponding path program 1 times [2022-02-20 23:40:48,840 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:48,840 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1381690183] [2022-02-20 23:40:48,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:48,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:48,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:48,881 INFO L290 TraceCheckUtils]: 0: Hoare triple {2032#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2032#true} is VALID [2022-02-20 23:40:48,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {2032#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2032#true} is VALID [2022-02-20 23:40:48,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {2032#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2032#true} is VALID [2022-02-20 23:40:48,882 INFO L290 TraceCheckUtils]: 3: Hoare triple {2032#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2034#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:48,883 INFO L290 TraceCheckUtils]: 4: Hoare triple {2034#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:48,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:48,884 INFO L290 TraceCheckUtils]: 6: Hoare triple {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:48,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:48,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:48,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {2035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(1 + (main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1)) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1)); {2033#false} is VALID [2022-02-20 23:40:48,886 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:48,886 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:48,886 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1381690183] [2022-02-20 23:40:48,886 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1381690183] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:48,886 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:48,887 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:40:48,887 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1868498504] [2022-02-20 23:40:48,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:48,887 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 23:40:48,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:48,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,895 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:48,895 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:48,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:48,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,896 INFO L87 Difference]: Start difference. First operand 61 states and 72 transitions. Second operand has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,957 INFO L93 Difference]: Finished difference Result 60 states and 71 transitions. [2022-02-20 23:40:48,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:48,958 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 23:40:48,958 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:48,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 48 transitions. [2022-02-20 23:40:48,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 48 transitions. [2022-02-20 23:40:48,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 48 transitions. [2022-02-20 23:40:48,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,991 INFO L225 Difference]: With dead ends: 60 [2022-02-20 23:40:48,992 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 23:40:48,992 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,992 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 77 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 30 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:48,993 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 30 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:48,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 23:40:48,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-02-20 23:40:48,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:48,995 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 59 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,995 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 59 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,995 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 59 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,996 INFO L93 Difference]: Finished difference Result 60 states and 71 transitions. [2022-02-20 23:40:48,996 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 71 transitions. [2022-02-20 23:40:48,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,997 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 59 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:40:48,997 INFO L87 Difference]: Start difference. First operand has 60 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 59 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:40:48,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,998 INFO L93 Difference]: Finished difference Result 60 states and 71 transitions. [2022-02-20 23:40:48,998 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 71 transitions. [2022-02-20 23:40:48,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:48,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:48,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 59 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 71 transitions. [2022-02-20 23:40:49,000 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 71 transitions. Word has length 10 [2022-02-20 23:40:49,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:49,000 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 71 transitions. [2022-02-20 23:40:49,000 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,000 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 71 transitions. [2022-02-20 23:40:49,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:40:49,000 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:49,001 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:49,001 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 23:40:49,001 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:49,001 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:49,001 INFO L85 PathProgramCache]: Analyzing trace with hash -1226025170, now seen corresponding path program 1 times [2022-02-20 23:40:49,001 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:49,002 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1950603143] [2022-02-20 23:40:49,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:49,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:49,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:49,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {2278#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2278#true} is VALID [2022-02-20 23:40:49,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {2278#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2278#true} is VALID [2022-02-20 23:40:49,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {2278#true} assume !(main_~length1~0#1 < 1); {2278#true} is VALID [2022-02-20 23:40:49,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {2278#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2278#true} is VALID [2022-02-20 23:40:49,067 INFO L290 TraceCheckUtils]: 4: Hoare triple {2278#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,068 INFO L290 TraceCheckUtils]: 6: Hoare triple {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,068 INFO L290 TraceCheckUtils]: 7: Hoare triple {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,069 INFO L290 TraceCheckUtils]: 8: Hoare triple {2280#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {2281#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,069 INFO L290 TraceCheckUtils]: 9: Hoare triple {2281#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {2282#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,070 INFO L290 TraceCheckUtils]: 10: Hoare triple {2282#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {2279#false} is VALID [2022-02-20 23:40:49,070 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:49,070 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:49,070 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1950603143] [2022-02-20 23:40:49,070 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1950603143] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:40:49,071 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [357280519] [2022-02-20 23:40:49,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:49,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:49,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:49,072 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-02-20 23:40:49,101 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-02-20 23:40:49,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:49,127 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:40:49,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:49,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:49,267 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:49,273 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:40:49,284 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-02-20 23:40:49,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {2278#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2278#true} is VALID [2022-02-20 23:40:49,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {2278#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2278#true} is VALID [2022-02-20 23:40:49,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {2278#true} assume !(main_~length1~0#1 < 1); {2278#true} is VALID [2022-02-20 23:40:49,381 INFO L290 TraceCheckUtils]: 3: Hoare triple {2278#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2278#true} is VALID [2022-02-20 23:40:49,382 INFO L290 TraceCheckUtils]: 4: Hoare triple {2278#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:40:49,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:40:49,383 INFO L290 TraceCheckUtils]: 6: Hoare triple {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:40:49,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet15#1; {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:40:49,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {2298#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {2281#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {2281#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {2282#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:49,386 INFO L290 TraceCheckUtils]: 10: Hoare triple {2282#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {2279#false} is VALID [2022-02-20 23:40:49,386 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:49,386 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:49,818 INFO L290 TraceCheckUtils]: 10: Hoare triple {2317#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|)))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {2279#false} is VALID [2022-02-20 23:40:49,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {2321#(or (and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {2317#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 23:40:49,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {2321#(or (and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:40:49,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} havoc main_#t~nondet15#1; {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:40:49,820 INFO L290 TraceCheckUtils]: 6: Hoare triple {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:40:49,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:40:49,822 INFO L290 TraceCheckUtils]: 4: Hoare triple {2278#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {2325#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:40:49,822 INFO L290 TraceCheckUtils]: 3: Hoare triple {2278#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2278#true} is VALID [2022-02-20 23:40:49,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {2278#true} assume !(main_~length1~0#1 < 1); {2278#true} is VALID [2022-02-20 23:40:49,822 INFO L290 TraceCheckUtils]: 1: Hoare triple {2278#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2278#true} is VALID [2022-02-20 23:40:49,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {2278#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2278#true} is VALID [2022-02-20 23:40:49,823 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:49,823 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [357280519] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:49,823 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:40:49,823 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2022-02-20 23:40:49,823 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2134731974] [2022-02-20 23:40:49,823 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:49,824 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:49,824 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:49,824 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:49,840 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:40:49,840 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:49,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:40:49,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:40:49,841 INFO L87 Difference]: Start difference. First operand 60 states and 71 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:50,328 INFO L93 Difference]: Finished difference Result 137 states and 155 transitions. [2022-02-20 23:40:50,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:40:50,328 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:50,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:50,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 122 transitions. [2022-02-20 23:40:50,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 122 transitions. [2022-02-20 23:40:50,331 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 122 transitions. [2022-02-20 23:40:50,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:50,425 INFO L225 Difference]: With dead ends: 137 [2022-02-20 23:40:50,425 INFO L226 Difference]: Without dead ends: 137 [2022-02-20 23:40:50,426 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 16 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:40:50,426 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 176 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 176 SdHoareTripleChecker+Valid, 221 SdHoareTripleChecker+Invalid, 202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:50,426 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [176 Valid, 221 Invalid, 202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 195 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:50,426 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-02-20 23:40:50,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 55. [2022-02-20 23:40:50,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:50,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 55 states, 43 states have (on average 1.4651162790697674) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,429 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 55 states, 43 states have (on average 1.4651162790697674) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,429 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 55 states, 43 states have (on average 1.4651162790697674) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:50,431 INFO L93 Difference]: Finished difference Result 137 states and 155 transitions. [2022-02-20 23:40:50,431 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 155 transitions. [2022-02-20 23:40:50,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:50,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:50,432 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 43 states have (on average 1.4651162790697674) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 137 states. [2022-02-20 23:40:50,432 INFO L87 Difference]: Start difference. First operand has 55 states, 43 states have (on average 1.4651162790697674) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 137 states. [2022-02-20 23:40:50,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:50,434 INFO L93 Difference]: Finished difference Result 137 states and 155 transitions. [2022-02-20 23:40:50,434 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 155 transitions. [2022-02-20 23:40:50,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:50,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:50,434 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:50,434 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:50,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 43 states have (on average 1.4651162790697674) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 63 transitions. [2022-02-20 23:40:50,436 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 63 transitions. Word has length 11 [2022-02-20 23:40:50,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:50,436 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 63 transitions. [2022-02-20 23:40:50,436 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 9 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,436 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 63 transitions. [2022-02-20 23:40:50,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:40:50,436 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:50,437 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:50,456 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 23:40:50,657 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:50,657 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:50,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:50,657 INFO L85 PathProgramCache]: Analyzing trace with hash -464624129, now seen corresponding path program 1 times [2022-02-20 23:40:50,658 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:50,658 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1229095918] [2022-02-20 23:40:50,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:50,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:50,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:50,746 INFO L290 TraceCheckUtils]: 0: Hoare triple {2821#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2821#true} is VALID [2022-02-20 23:40:50,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {2821#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2821#true} is VALID [2022-02-20 23:40:50,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {2821#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2823#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:50,747 INFO L290 TraceCheckUtils]: 3: Hoare triple {2823#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2823#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:50,748 INFO L290 TraceCheckUtils]: 4: Hoare triple {2823#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:50,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:50,748 INFO L290 TraceCheckUtils]: 6: Hoare triple {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:50,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:50,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {2824#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {2825#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:50,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {2825#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {2825#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:50,750 INFO L290 TraceCheckUtils]: 10: Hoare triple {2825#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {2826#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:50,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {2826#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {2822#false} is VALID [2022-02-20 23:40:50,751 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:50,751 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:50,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1229095918] [2022-02-20 23:40:50,751 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1229095918] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:50,752 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:50,752 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:40:50,752 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1710347782] [2022-02-20 23:40:50,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:50,752 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 23:40:50,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:50,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:50,774 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:40:50,775 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:50,775 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:40:50,775 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:40:50,775 INFO L87 Difference]: Start difference. First operand 55 states and 63 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:50,932 INFO L93 Difference]: Finished difference Result 72 states and 80 transitions. [2022-02-20 23:40:50,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:50,932 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 23:40:50,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:50,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-02-20 23:40:50,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-02-20 23:40:50,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-02-20 23:40:50,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:50,988 INFO L225 Difference]: With dead ends: 72 [2022-02-20 23:40:50,988 INFO L226 Difference]: Without dead ends: 72 [2022-02-20 23:40:50,988 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:50,989 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 172 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 172 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:50,989 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [172 Valid, 58 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:50,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-02-20 23:40:50,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 60. [2022-02-20 23:40:50,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:50,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 60 states, 48 states have (on average 1.5208333333333333) internal successors, (73), 59 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,991 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 60 states, 48 states have (on average 1.5208333333333333) internal successors, (73), 59 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,991 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 60 states, 48 states have (on average 1.5208333333333333) internal successors, (73), 59 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:50,992 INFO L93 Difference]: Finished difference Result 72 states and 80 transitions. [2022-02-20 23:40:50,992 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 80 transitions. [2022-02-20 23:40:50,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:50,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:50,993 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 48 states have (on average 1.5208333333333333) internal successors, (73), 59 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2022-02-20 23:40:50,993 INFO L87 Difference]: Start difference. First operand has 60 states, 48 states have (on average 1.5208333333333333) internal successors, (73), 59 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2022-02-20 23:40:50,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:50,994 INFO L93 Difference]: Finished difference Result 72 states and 80 transitions. [2022-02-20 23:40:50,994 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 80 transitions. [2022-02-20 23:40:50,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:50,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:50,994 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:50,994 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:50,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 48 states have (on average 1.5208333333333333) internal successors, (73), 59 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 73 transitions. [2022-02-20 23:40:50,995 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 73 transitions. Word has length 12 [2022-02-20 23:40:50,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:50,995 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 73 transitions. [2022-02-20 23:40:50,996 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 6 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:50,996 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 73 transitions. [2022-02-20 23:40:50,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:40:50,996 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:50,996 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:50,996 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:40:50,996 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:50,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:50,997 INFO L85 PathProgramCache]: Analyzing trace with hash -464624130, now seen corresponding path program 1 times [2022-02-20 23:40:50,997 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:50,997 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1868254914] [2022-02-20 23:40:50,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:50,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:51,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:51,024 INFO L290 TraceCheckUtils]: 0: Hoare triple {3109#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {3109#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {3109#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 3: Hoare triple {3109#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 4: Hoare triple {3109#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {3109#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {3109#true} main_~i~1#1 := 0; {3109#true} is VALID [2022-02-20 23:40:51,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {3109#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {3109#true} is VALID [2022-02-20 23:40:51,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {3109#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {3111#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:40:51,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {3111#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {3111#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:40:51,027 INFO L290 TraceCheckUtils]: 10: Hoare triple {3111#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {3112#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:40:51,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {3112#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} assume !(1 == #valid[cstrcmp_~s1#1.base]); {3110#false} is VALID [2022-02-20 23:40:51,027 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:51,027 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:51,027 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1868254914] [2022-02-20 23:40:51,028 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1868254914] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:51,028 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:51,028 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:40:51,028 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1872487784] [2022-02-20 23:40:51,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:51,028 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 23:40:51,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:51,029 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:51,036 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:51,036 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:51,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:51,036 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:51,036 INFO L87 Difference]: Start difference. First operand 60 states and 73 transitions. Second operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:51,111 INFO L93 Difference]: Finished difference Result 58 states and 69 transitions. [2022-02-20 23:40:51,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:51,112 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 23:40:51,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:51,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2022-02-20 23:40:51,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2022-02-20 23:40:51,127 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 46 transitions. [2022-02-20 23:40:51,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:51,160 INFO L225 Difference]: With dead ends: 58 [2022-02-20 23:40:51,160 INFO L226 Difference]: Without dead ends: 58 [2022-02-20 23:40:51,161 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 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-02-20 23:40:51,161 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 51 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:51,161 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 45 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:51,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-02-20 23:40:51,163 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 58. [2022-02-20 23:40:51,163 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:51,163 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 58 states, 48 states have (on average 1.4375) internal successors, (69), 57 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,163 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 58 states, 48 states have (on average 1.4375) internal successors, (69), 57 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,163 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 58 states, 48 states have (on average 1.4375) internal successors, (69), 57 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:51,164 INFO L93 Difference]: Finished difference Result 58 states and 69 transitions. [2022-02-20 23:40:51,164 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 69 transitions. [2022-02-20 23:40:51,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:51,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:51,165 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 48 states have (on average 1.4375) internal successors, (69), 57 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 58 states. [2022-02-20 23:40:51,165 INFO L87 Difference]: Start difference. First operand has 58 states, 48 states have (on average 1.4375) internal successors, (69), 57 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 58 states. [2022-02-20 23:40:51,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:51,166 INFO L93 Difference]: Finished difference Result 58 states and 69 transitions. [2022-02-20 23:40:51,166 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 69 transitions. [2022-02-20 23:40:51,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:51,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:51,166 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:51,166 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:51,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 48 states have (on average 1.4375) internal successors, (69), 57 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 69 transitions. [2022-02-20 23:40:51,167 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 69 transitions. Word has length 12 [2022-02-20 23:40:51,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:51,167 INFO L470 AbstractCegarLoop]: Abstraction has 58 states and 69 transitions. [2022-02-20 23:40:51,167 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,168 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 69 transitions. [2022-02-20 23:40:51,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:40:51,168 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:51,168 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:51,168 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:40:51,168 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:51,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:51,169 INFO L85 PathProgramCache]: Analyzing trace with hash -1862804906, now seen corresponding path program 1 times [2022-02-20 23:40:51,169 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:51,169 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1513945931] [2022-02-20 23:40:51,169 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:51,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:51,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:51,231 INFO L290 TraceCheckUtils]: 0: Hoare triple {3349#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3349#true} is VALID [2022-02-20 23:40:51,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {3349#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3349#true} is VALID [2022-02-20 23:40:51,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {3349#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3349#true} is VALID [2022-02-20 23:40:51,232 INFO L290 TraceCheckUtils]: 3: Hoare triple {3349#true} assume !(main_~length2~0#1 < 1); {3349#true} is VALID [2022-02-20 23:40:51,233 INFO L290 TraceCheckUtils]: 4: Hoare triple {3349#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {3351#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {3351#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3351#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {3351#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_~i~1#1 := 0; {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} havoc main_#t~nondet17#1; {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,237 INFO L290 TraceCheckUtils]: 10: Hoare triple {3352#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3353#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:40:51,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {3353#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {3354#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:40:51,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {3354#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {3350#false} is VALID [2022-02-20 23:40:51,238 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:51,238 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:51,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1513945931] [2022-02-20 23:40:51,239 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1513945931] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:40:51,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1085671598] [2022-02-20 23:40:51,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:51,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:51,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:51,240 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-02-20 23:40:51,241 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-02-20 23:40:51,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:51,289 INFO L263 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:40:51,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:51,300 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:51,369 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:40:51,369 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:40:51,509 INFO L290 TraceCheckUtils]: 0: Hoare triple {3349#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3349#true} is VALID [2022-02-20 23:40:51,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {3349#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3349#true} is VALID [2022-02-20 23:40:51,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {3349#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3349#true} is VALID [2022-02-20 23:40:51,509 INFO L290 TraceCheckUtils]: 3: Hoare triple {3349#true} assume !(main_~length2~0#1 < 1); {3349#true} is VALID [2022-02-20 23:40:51,510 INFO L290 TraceCheckUtils]: 4: Hoare triple {3349#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {3370#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {3370#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3370#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,511 INFO L290 TraceCheckUtils]: 6: Hoare triple {3370#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,513 INFO L290 TraceCheckUtils]: 10: Hoare triple {3377#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3390#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:40:51,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {3390#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {3354#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:40:51,514 INFO L290 TraceCheckUtils]: 12: Hoare triple {3354#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {3350#false} is VALID [2022-02-20 23:40:51,514 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:51,514 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:51,845 INFO L290 TraceCheckUtils]: 12: Hoare triple {3397#(and (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {3350#false} is VALID [2022-02-20 23:40:51,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {3401#(or (and (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (not (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {3397#(and (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:51,846 INFO L290 TraceCheckUtils]: 10: Hoare triple {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3401#(or (and (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (not (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:51,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} havoc main_#t~nondet17#1; {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:40:51,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:40:51,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:40:51,848 INFO L290 TraceCheckUtils]: 6: Hoare triple {3418#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} main_~i~1#1 := 0; {3405#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:40:51,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {3418#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3418#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:40:51,849 INFO L290 TraceCheckUtils]: 4: Hoare triple {3349#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {3418#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:40:51,850 INFO L290 TraceCheckUtils]: 3: Hoare triple {3349#true} assume !(main_~length2~0#1 < 1); {3349#true} is VALID [2022-02-20 23:40:51,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {3349#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3349#true} is VALID [2022-02-20 23:40:51,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {3349#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3349#true} is VALID [2022-02-20 23:40:51,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {3349#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3349#true} is VALID [2022-02-20 23:40:51,850 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:51,850 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1085671598] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:51,850 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:40:51,851 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 12 [2022-02-20 23:40:51,851 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [469637834] [2022-02-20 23:40:51,851 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:51,851 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:51,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:51,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:51,870 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:40:51,870 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:51,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:40:51,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=105, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:40:51,871 INFO L87 Difference]: Start difference. First operand 58 states and 69 transitions. Second operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:52,532 INFO L93 Difference]: Finished difference Result 118 states and 138 transitions. [2022-02-20 23:40:52,532 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:40:52,533 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:52,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:52,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-02-20 23:40:52,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-02-20 23:40:52,534 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-02-20 23:40:52,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:52,638 INFO L225 Difference]: With dead ends: 118 [2022-02-20 23:40:52,638 INFO L226 Difference]: Without dead ends: 118 [2022-02-20 23:40:52,638 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 17 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=85, Invalid=155, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:40:52,638 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 290 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 190 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 290 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 190 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:52,639 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [290 Valid, 179 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 190 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:40:52,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-02-20 23:40:52,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 55. [2022-02-20 23:40:52,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:52,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 55 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,641 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 55 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,641 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 55 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:52,642 INFO L93 Difference]: Finished difference Result 118 states and 138 transitions. [2022-02-20 23:40:52,642 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 138 transitions. [2022-02-20 23:40:52,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:52,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:52,643 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 118 states. [2022-02-20 23:40:52,643 INFO L87 Difference]: Start difference. First operand has 55 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 118 states. [2022-02-20 23:40:52,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:52,644 INFO L93 Difference]: Finished difference Result 118 states and 138 transitions. [2022-02-20 23:40:52,644 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 138 transitions. [2022-02-20 23:40:52,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:52,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:52,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:52,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:52,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 65 transitions. [2022-02-20 23:40:52,646 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 65 transitions. Word has length 13 [2022-02-20 23:40:52,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:52,646 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 65 transitions. [2022-02-20 23:40:52,646 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,646 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-02-20 23:40:52,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:40:52,646 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:52,646 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:52,676 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:52,863 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-02-20 23:40:52,863 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr10REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:52,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:52,864 INFO L85 PathProgramCache]: Analyzing trace with hash 172810975, now seen corresponding path program 1 times [2022-02-20 23:40:52,864 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:52,864 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1652912414] [2022-02-20 23:40:52,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:52,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:52,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:52,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {3851#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3851#true} is VALID [2022-02-20 23:40:52,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {3851#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3851#true} is VALID [2022-02-20 23:40:52,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {3851#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3851#true} is VALID [2022-02-20 23:40:52,893 INFO L290 TraceCheckUtils]: 3: Hoare triple {3851#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3851#true} is VALID [2022-02-20 23:40:52,894 INFO L290 TraceCheckUtils]: 4: Hoare triple {3851#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {3851#true} is VALID [2022-02-20 23:40:52,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {3851#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3851#true} is VALID [2022-02-20 23:40:52,894 INFO L290 TraceCheckUtils]: 6: Hoare triple {3851#true} main_~i~1#1 := 0; {3851#true} is VALID [2022-02-20 23:40:52,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {3851#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {3851#true} is VALID [2022-02-20 23:40:52,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {3851#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {3851#true} is VALID [2022-02-20 23:40:52,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {3851#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {3853#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:40:52,895 INFO L290 TraceCheckUtils]: 10: Hoare triple {3853#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {3854#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:52,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {3854#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {3854#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:52,896 INFO L290 TraceCheckUtils]: 12: Hoare triple {3854#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {3855#(= (select |#valid| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) 1)} is VALID [2022-02-20 23:40:52,896 INFO L290 TraceCheckUtils]: 13: Hoare triple {3855#(= (select |#valid| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) 1)} assume !(1 == #valid[cstrcmp_#t~post2#1.base]); {3852#false} is VALID [2022-02-20 23:40:52,896 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:52,896 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:52,896 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1652912414] [2022-02-20 23:40:52,897 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1652912414] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:52,897 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:52,897 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:52,897 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [226045559] [2022-02-20 23:40:52,897 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:52,897 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:40:52,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:52,898 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:52,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:52,909 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:52,910 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:52,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:52,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:52,910 INFO L87 Difference]: Start difference. First operand 55 states and 65 transitions. Second operand has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,027 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-02-20 23:40:53,027 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:53,027 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:40:53,027 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:53,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 23:40:53,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 23:40:53,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-02-20 23:40:53,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,069 INFO L225 Difference]: With dead ends: 54 [2022-02-20 23:40:53,069 INFO L226 Difference]: Without dead ends: 54 [2022-02-20 23:40:53,070 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:40:53,070 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 48 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:53,070 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 63 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:53,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-02-20 23:40:53,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-02-20 23:40:53,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:53,071 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 46 states have (on average 1.3695652173913044) internal successors, (63), 53 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,071 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 46 states have (on average 1.3695652173913044) internal successors, (63), 53 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,071 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 46 states have (on average 1.3695652173913044) internal successors, (63), 53 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,072 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-02-20 23:40:53,072 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-02-20 23:40:53,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,072 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 46 states have (on average 1.3695652173913044) internal successors, (63), 53 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 54 states. [2022-02-20 23:40:53,073 INFO L87 Difference]: Start difference. First operand has 54 states, 46 states have (on average 1.3695652173913044) internal successors, (63), 53 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 54 states. [2022-02-20 23:40:53,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,074 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-02-20 23:40:53,074 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-02-20 23:40:53,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:53,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:53,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 46 states have (on average 1.3695652173913044) internal successors, (63), 53 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2022-02-20 23:40:53,075 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 14 [2022-02-20 23:40:53,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:53,075 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2022-02-20 23:40:53,075 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.5) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,075 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-02-20 23:40:53,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:40:53,075 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:53,075 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:53,075 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 23:40:53,075 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:53,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:53,076 INFO L85 PathProgramCache]: Analyzing trace with hash 172810976, now seen corresponding path program 1 times [2022-02-20 23:40:53,076 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:53,076 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1222363970] [2022-02-20 23:40:53,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:53,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:53,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:53,148 INFO L290 TraceCheckUtils]: 0: Hoare triple {4078#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4078#true} is VALID [2022-02-20 23:40:53,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {4078#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4078#true} is VALID [2022-02-20 23:40:53,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {4078#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4078#true} is VALID [2022-02-20 23:40:53,149 INFO L290 TraceCheckUtils]: 3: Hoare triple {4078#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4080#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:53,150 INFO L290 TraceCheckUtils]: 4: Hoare triple {4080#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:53,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:53,152 INFO L290 TraceCheckUtils]: 6: Hoare triple {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:53,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:53,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:53,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:53,156 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {4082#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:40:53,156 INFO L290 TraceCheckUtils]: 11: Hoare triple {4082#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {4082#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:40:53,157 INFO L290 TraceCheckUtils]: 12: Hoare triple {4082#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {4083#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} is VALID [2022-02-20 23:40:53,157 INFO L290 TraceCheckUtils]: 13: Hoare triple {4083#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {4079#false} is VALID [2022-02-20 23:40:53,157 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:53,158 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:53,158 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1222363970] [2022-02-20 23:40:53,158 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1222363970] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:53,158 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:53,158 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:40:53,158 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [306166042] [2022-02-20 23:40:53,158 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:53,159 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:40:53,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:53,159 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,170 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:40:53,170 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:53,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:40:53,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:40:53,171 INFO L87 Difference]: Start difference. First operand 54 states and 63 transitions. Second operand has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,350 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2022-02-20 23:40:53,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:40:53,350 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:40:53,350 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:53,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2022-02-20 23:40:53,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2022-02-20 23:40:53,351 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2022-02-20 23:40:53,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,386 INFO L225 Difference]: With dead ends: 54 [2022-02-20 23:40:53,386 INFO L226 Difference]: Without dead ends: 54 [2022-02-20 23:40:53,387 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:40:53,387 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 75 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 75 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:53,387 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [75 Valid, 74 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:53,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-02-20 23:40:53,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-02-20 23:40:53,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:53,388 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,388 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,389 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,389 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2022-02-20 23:40:53,389 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 62 transitions. [2022-02-20 23:40:53,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,389 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 54 states. [2022-02-20 23:40:53,390 INFO L87 Difference]: Start difference. First operand has 54 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 54 states. [2022-02-20 23:40:53,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,390 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2022-02-20 23:40:53,391 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 62 transitions. [2022-02-20 23:40:53,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:53,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:53,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 62 transitions. [2022-02-20 23:40:53,391 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 62 transitions. Word has length 14 [2022-02-20 23:40:53,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:53,391 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 62 transitions. [2022-02-20 23:40:53,392 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.8) internal successors, (14), 6 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,392 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 62 transitions. [2022-02-20 23:40:53,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:40:53,392 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:53,392 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:53,392 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 23:40:53,392 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr12REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:53,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:53,392 INFO L85 PathProgramCache]: Analyzing trace with hash -1432376192, now seen corresponding path program 1 times [2022-02-20 23:40:53,392 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:53,393 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1528069724] [2022-02-20 23:40:53,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:53,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:53,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:53,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4308#true} is VALID [2022-02-20 23:40:53,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4308#true} is VALID [2022-02-20 23:40:53,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4308#true} is VALID [2022-02-20 23:40:53,425 INFO L290 TraceCheckUtils]: 3: Hoare triple {4308#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4308#true} is VALID [2022-02-20 23:40:53,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {4308#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {4308#true} is VALID [2022-02-20 23:40:53,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {4308#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4308#true} is VALID [2022-02-20 23:40:53,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {4308#true} main_~i~1#1 := 0; {4308#true} is VALID [2022-02-20 23:40:53,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {4308#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4308#true} is VALID [2022-02-20 23:40:53,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {4308#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {4310#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:40:53,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {4310#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {4310#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:40:53,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {4310#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:40:53,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:40:53,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:40:53,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:40:53,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {4311#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {4312#(= (select |#valid| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) 1)} is VALID [2022-02-20 23:40:53,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {4312#(= (select |#valid| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) 1)} assume !(1 == #valid[cstrcmp_#t~post5#1.base]); {4309#false} is VALID [2022-02-20 23:40:53,431 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:53,432 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:53,432 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1528069724] [2022-02-20 23:40:53,432 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1528069724] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:53,432 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:53,432 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:53,432 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [286271273] [2022-02-20 23:40:53,432 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:53,433 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:53,433 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:53,433 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,442 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:53,442 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:53,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:53,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:53,443 INFO L87 Difference]: Start difference. First operand 54 states and 62 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,535 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 23:40:53,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:53,536 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:53,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:53,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-02-20 23:40:53,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-02-20 23:40:53,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-02-20 23:40:53,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,565 INFO L225 Difference]: With dead ends: 53 [2022-02-20 23:40:53,565 INFO L226 Difference]: Without dead ends: 53 [2022-02-20 23:40:53,565 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:40:53,566 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 45 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:53,566 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 61 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:53,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-02-20 23:40:53,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-02-20 23:40:53,567 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:53,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 46 states have (on average 1.326086956521739) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,568 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 46 states have (on average 1.326086956521739) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,568 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 46 states have (on average 1.326086956521739) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,569 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 23:40:53,569 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 23:40:53,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,569 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 46 states have (on average 1.326086956521739) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 53 states. [2022-02-20 23:40:53,569 INFO L87 Difference]: Start difference. First operand has 53 states, 46 states have (on average 1.326086956521739) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 53 states. [2022-02-20 23:40:53,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,570 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 23:40:53,570 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 23:40:53,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:53,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:53,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 46 states have (on average 1.326086956521739) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 61 transitions. [2022-02-20 23:40:53,571 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 61 transitions. Word has length 16 [2022-02-20 23:40:53,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:53,571 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 61 transitions. [2022-02-20 23:40:53,572 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 5 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,572 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 23:40:53,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:40:53,572 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:53,572 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:53,572 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 23:40:53,572 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:53,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:53,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1432376191, now seen corresponding path program 1 times [2022-02-20 23:40:53,573 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:53,573 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1033213936] [2022-02-20 23:40:53,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:53,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:53,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:53,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {4531#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4531#true} is VALID [2022-02-20 23:40:53,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {4531#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4531#true} is VALID [2022-02-20 23:40:53,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {4531#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4533#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:53,631 INFO L290 TraceCheckUtils]: 3: Hoare triple {4533#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4533#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:53,631 INFO L290 TraceCheckUtils]: 4: Hoare triple {4533#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:53,632 INFO L290 TraceCheckUtils]: 5: Hoare triple {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:53,632 INFO L290 TraceCheckUtils]: 6: Hoare triple {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:53,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:53,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {4534#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {4535#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:53,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {4535#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {4535#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:53,634 INFO L290 TraceCheckUtils]: 10: Hoare triple {4535#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:53,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:53,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:53,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:53,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {4536#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {4537#(and (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)))} is VALID [2022-02-20 23:40:53,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {4537#(and (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)))} assume !(1 + cstrcmp_#t~post5#1.offset <= #length[cstrcmp_#t~post5#1.base] && 0 <= cstrcmp_#t~post5#1.offset); {4532#false} is VALID [2022-02-20 23:40:53,637 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:53,637 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:53,637 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1033213936] [2022-02-20 23:40:53,637 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1033213936] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:53,637 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:53,637 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:40:53,637 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1412824061] [2022-02-20 23:40:53,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:53,638 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:53,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:53,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,648 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:40:53,648 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:53,648 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:40:53,649 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:40:53,649 INFO L87 Difference]: Start difference. First operand 53 states and 61 transitions. Second operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,835 INFO L93 Difference]: Finished difference Result 62 states and 69 transitions. [2022-02-20 23:40:53,835 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:40:53,835 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:53,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:53,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 23:40:53,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 23:40:53,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 23:40:53,896 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,896 INFO L225 Difference]: With dead ends: 62 [2022-02-20 23:40:53,896 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 23:40:53,896 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:40:53,897 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 142 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 142 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:53,897 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [142 Valid, 76 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:53,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 23:40:53,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 54. [2022-02-20 23:40:53,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:53,898 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 54 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,898 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 54 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,898 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 54 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,899 INFO L93 Difference]: Finished difference Result 62 states and 69 transitions. [2022-02-20 23:40:53,899 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 69 transitions. [2022-02-20 23:40:53,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,899 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 62 states. [2022-02-20 23:40:53,900 INFO L87 Difference]: Start difference. First operand has 54 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 62 states. [2022-02-20 23:40:53,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,900 INFO L93 Difference]: Finished difference Result 62 states and 69 transitions. [2022-02-20 23:40:53,900 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 69 transitions. [2022-02-20 23:40:53,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:53,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:53,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 53 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 62 transitions. [2022-02-20 23:40:53,901 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 62 transitions. Word has length 16 [2022-02-20 23:40:53,901 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:53,901 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 62 transitions. [2022-02-20 23:40:53,901 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,901 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 62 transitions. [2022-02-20 23:40:53,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:40:53,902 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:53,902 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:53,902 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-02-20 23:40:53,902 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr16REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:53,902 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:53,902 INFO L85 PathProgramCache]: Analyzing trace with hash -2124032946, now seen corresponding path program 1 times [2022-02-20 23:40:53,902 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:53,902 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1043730240] [2022-02-20 23:40:53,902 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:53,902 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:53,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:53,942 INFO L290 TraceCheckUtils]: 0: Hoare triple {4786#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4786#true} is VALID [2022-02-20 23:40:53,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {4786#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {4786#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 3: Hoare triple {4786#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 4: Hoare triple {4786#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {4786#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {4786#true} main_~i~1#1 := 0; {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {4786#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {4786#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {4786#true} is VALID [2022-02-20 23:40:53,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {4786#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {4788#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:40:53,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {4788#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:53,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:53,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:53,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:53,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:53,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:40:53,946 INFO L290 TraceCheckUtils]: 16: Hoare triple {4789#(= (select |#valid| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1)} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {4790#(= (select |#valid| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|) 1)} is VALID [2022-02-20 23:40:53,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {4790#(= (select |#valid| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|) 1)} assume !(1 == #valid[cstrcmp_#t~pre7#1.base]); {4787#false} is VALID [2022-02-20 23:40:53,946 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:53,946 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:53,946 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1043730240] [2022-02-20 23:40:53,946 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1043730240] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:53,946 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:53,946 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:53,946 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909031758] [2022-02-20 23:40:53,946 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:53,947 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:53,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:53,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,958 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:53,958 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:53,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:53,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:53,959 INFO L87 Difference]: Start difference. First operand 54 states and 62 transitions. Second operand has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,052 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 23:40:54,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:54,052 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:54,053 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:54,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-02-20 23:40:54,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-02-20 23:40:54,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-02-20 23:40:54,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:54,095 INFO L225 Difference]: With dead ends: 53 [2022-02-20 23:40:54,095 INFO L226 Difference]: Without dead ends: 53 [2022-02-20 23:40:54,095 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:40:54,096 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 41 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:54,096 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 64 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:54,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-02-20 23:40:54,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-02-20 23:40:54,097 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:54,097 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 47 states have (on average 1.297872340425532) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,097 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 47 states have (on average 1.297872340425532) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,097 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 47 states have (on average 1.297872340425532) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,097 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 23:40:54,098 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 23:40:54,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:54,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:54,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 47 states have (on average 1.297872340425532) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 53 states. [2022-02-20 23:40:54,098 INFO L87 Difference]: Start difference. First operand has 53 states, 47 states have (on average 1.297872340425532) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 53 states. [2022-02-20 23:40:54,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,098 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 23:40:54,098 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 23:40:54,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:54,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:54,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:54,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:54,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 47 states have (on average 1.297872340425532) internal successors, (61), 52 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 61 transitions. [2022-02-20 23:40:54,099 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 61 transitions. Word has length 18 [2022-02-20 23:40:54,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:54,099 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 61 transitions. [2022-02-20 23:40:54,099 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,099 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 23:40:54,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:40:54,100 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:54,100 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:54,100 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-02-20 23:40:54,100 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr17REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:54,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:54,100 INFO L85 PathProgramCache]: Analyzing trace with hash -2124032945, now seen corresponding path program 1 times [2022-02-20 23:40:54,100 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:54,100 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1032454811] [2022-02-20 23:40:54,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:54,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:54,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:54,182 INFO L290 TraceCheckUtils]: 0: Hoare triple {5009#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5009#true} is VALID [2022-02-20 23:40:54,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {5009#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5009#true} is VALID [2022-02-20 23:40:54,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {5009#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {5009#true} is VALID [2022-02-20 23:40:54,186 INFO L290 TraceCheckUtils]: 3: Hoare triple {5009#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {5011#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:54,188 INFO L290 TraceCheckUtils]: 4: Hoare triple {5011#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:54,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:54,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:54,191 INFO L290 TraceCheckUtils]: 7: Hoare triple {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:54,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:54,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {5012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {5013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:54,192 INFO L290 TraceCheckUtils]: 10: Hoare triple {5013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {5014#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:40:54,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {5014#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {5014#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:40:54,194 INFO L290 TraceCheckUtils]: 12: Hoare triple {5014#(and (<= 1 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {5015#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} is VALID [2022-02-20 23:40:54,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {5015#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {5016#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:40:54,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {5016#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {5016#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:40:54,197 INFO L290 TraceCheckUtils]: 15: Hoare triple {5016#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {5016#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:40:54,198 INFO L290 TraceCheckUtils]: 16: Hoare triple {5016#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {5017#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} is VALID [2022-02-20 23:40:54,198 INFO L290 TraceCheckUtils]: 17: Hoare triple {5017#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} assume !(1 + cstrcmp_#t~pre7#1.offset <= #length[cstrcmp_#t~pre7#1.base] && 0 <= cstrcmp_#t~pre7#1.offset); {5010#false} is VALID [2022-02-20 23:40:54,198 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:54,198 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:54,198 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1032454811] [2022-02-20 23:40:54,198 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1032454811] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:54,199 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:54,199 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 23:40:54,199 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1760363828] [2022-02-20 23:40:54,199 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:54,199 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:54,199 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:54,199 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:54,220 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:40:54,220 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:54,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:40:54,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:40:54,221 INFO L87 Difference]: Start difference. First operand 53 states and 61 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,531 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2022-02-20 23:40:54,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:40:54,531 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:54,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:54,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-02-20 23:40:54,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-02-20 23:40:54,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-02-20 23:40:54,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:54,579 INFO L225 Difference]: With dead ends: 62 [2022-02-20 23:40:54,579 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 23:40:54,579 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:40:54,579 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 102 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 102 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:54,580 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [102 Valid, 105 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:54,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 23:40:54,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 55. [2022-02-20 23:40:54,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:54,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 55 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,581 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 55 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,581 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 55 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,581 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2022-02-20 23:40:54,581 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2022-02-20 23:40:54,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:54,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:54,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 62 states. [2022-02-20 23:40:54,582 INFO L87 Difference]: Start difference. First operand has 55 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 62 states. [2022-02-20 23:40:54,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,582 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2022-02-20 23:40:54,582 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2022-02-20 23:40:54,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:54,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:54,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:54,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:54,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 54 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 63 transitions. [2022-02-20 23:40:54,583 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 63 transitions. Word has length 18 [2022-02-20 23:40:54,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:54,583 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 63 transitions. [2022-02-20 23:40:54,583 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,583 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 63 transitions. [2022-02-20 23:40:54,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:40:54,584 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:54,584 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:54,584 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2022-02-20 23:40:54,584 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:54,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:54,584 INFO L85 PathProgramCache]: Analyzing trace with hash -2123984178, now seen corresponding path program 1 times [2022-02-20 23:40:54,584 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:54,584 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [523393958] [2022-02-20 23:40:54,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:54,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:54,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:54,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {5269#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5269#true} is VALID [2022-02-20 23:40:54,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {5269#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5269#true} is VALID [2022-02-20 23:40:54,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {5269#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {5271#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:40:54,703 INFO L290 TraceCheckUtils]: 3: Hoare triple {5271#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {5271#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:40:54,704 INFO L290 TraceCheckUtils]: 4: Hoare triple {5271#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:54,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:54,704 INFO L290 TraceCheckUtils]: 6: Hoare triple {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} main_~i~1#1 := 0; {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:54,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:54,705 INFO L290 TraceCheckUtils]: 8: Hoare triple {5272#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {5273#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:54,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {5273#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {5273#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:54,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {5273#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:54,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:54,707 INFO L290 TraceCheckUtils]: 12: Hoare triple {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:54,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:54,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {5274#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {5275#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:40:54,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {5275#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {5276#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:40:54,709 INFO L290 TraceCheckUtils]: 16: Hoare triple {5276#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {5270#false} is VALID [2022-02-20 23:40:54,709 INFO L290 TraceCheckUtils]: 17: Hoare triple {5270#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {5270#false} is VALID [2022-02-20 23:40:54,709 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:54,709 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:54,709 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [523393958] [2022-02-20 23:40:54,709 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [523393958] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:54,709 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:54,709 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 23:40:54,710 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1463753914] [2022-02-20 23:40:54,718 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:54,718 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:54,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:54,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:54,730 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:40:54,731 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:54,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:40:54,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:54,731 INFO L87 Difference]: Start difference. First operand 55 states and 63 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,956 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2022-02-20 23:40:54,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:40:54,956 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:54,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:54,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-02-20 23:40:54,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-02-20 23:40:54,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-02-20 23:40:54,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:54,993 INFO L225 Difference]: With dead ends: 81 [2022-02-20 23:40:54,993 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:40:54,993 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:40:54,993 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 59 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 87 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:54,994 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 169 Invalid, 87 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:54,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:40:54,995 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 71. [2022-02-20 23:40:54,995 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:54,995 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 71 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,995 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 71 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,995 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 71 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,996 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2022-02-20 23:40:54,996 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2022-02-20 23:40:54,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:54,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:54,996 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 81 states. [2022-02-20 23:40:54,996 INFO L87 Difference]: Start difference. First operand has 71 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 81 states. [2022-02-20 23:40:54,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:54,997 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2022-02-20 23:40:54,997 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2022-02-20 23:40:54,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:54,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:54,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:54,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:54,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 81 transitions. [2022-02-20 23:40:54,998 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 81 transitions. Word has length 18 [2022-02-20 23:40:54,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:54,998 INFO L470 AbstractCegarLoop]: Abstraction has 71 states and 81 transitions. [2022-02-20 23:40:54,998 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:54,998 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 81 transitions. [2022-02-20 23:40:54,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:40:54,998 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:54,998 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:54,998 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2022-02-20 23:40:54,998 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:54,999 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:54,999 INFO L85 PathProgramCache]: Analyzing trace with hash 1149914764, now seen corresponding path program 1 times [2022-02-20 23:40:54,999 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:54,999 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1305862681] [2022-02-20 23:40:54,999 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:54,999 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:55,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:55,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {5601#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5601#true} is VALID [2022-02-20 23:40:55,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {5601#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5601#true} is VALID [2022-02-20 23:40:55,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {5601#true} assume !(main_~length1~0#1 < 1); {5603#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:55,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {5603#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {5603#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:40:55,148 INFO L290 TraceCheckUtils]: 4: Hoare triple {5603#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {5604#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)))} is VALID [2022-02-20 23:40:55,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {5604#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5605#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:55,149 INFO L290 TraceCheckUtils]: 6: Hoare triple {5605#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} main_~i~1#1 := 0; {5605#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:55,149 INFO L290 TraceCheckUtils]: 7: Hoare triple {5605#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5605#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} is VALID [2022-02-20 23:40:55,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {5605#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {5606#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {5606#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {5606#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,151 INFO L290 TraceCheckUtils]: 10: Hoare triple {5606#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {5607#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 0) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {5608#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:40:55,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {5608#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {5609#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:40:55,154 INFO L290 TraceCheckUtils]: 16: Hoare triple {5609#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {5602#false} is VALID [2022-02-20 23:40:55,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {5602#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {5602#false} is VALID [2022-02-20 23:40:55,154 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:55,154 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:55,154 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1305862681] [2022-02-20 23:40:55,154 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1305862681] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:55,154 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:55,154 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 23:40:55,154 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [17147695] [2022-02-20 23:40:55,155 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:55,155 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:55,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:55,155 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:55,179 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:40:55,179 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:55,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:40:55,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:40:55,180 INFO L87 Difference]: Start difference. First operand 71 states and 81 transitions. Second operand has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:55,456 INFO L93 Difference]: Finished difference Result 105 states and 117 transitions. [2022-02-20 23:40:55,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:40:55,456 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:40:55,456 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:55,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-02-20 23:40:55,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-02-20 23:40:55,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 70 transitions. [2022-02-20 23:40:55,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:55,550 INFO L225 Difference]: With dead ends: 105 [2022-02-20 23:40:55,550 INFO L226 Difference]: Without dead ends: 105 [2022-02-20 23:40:55,551 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=106, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:40:55,551 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 118 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:55,551 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 151 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:55,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-02-20 23:40:55,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 73. [2022-02-20 23:40:55,552 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:55,552 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 73 states, 67 states have (on average 1.2686567164179106) internal successors, (85), 72 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,553 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 73 states, 67 states have (on average 1.2686567164179106) internal successors, (85), 72 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,553 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 73 states, 67 states have (on average 1.2686567164179106) internal successors, (85), 72 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:55,554 INFO L93 Difference]: Finished difference Result 105 states and 117 transitions. [2022-02-20 23:40:55,554 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 117 transitions. [2022-02-20 23:40:55,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:55,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:55,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 67 states have (on average 1.2686567164179106) internal successors, (85), 72 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 105 states. [2022-02-20 23:40:55,554 INFO L87 Difference]: Start difference. First operand has 73 states, 67 states have (on average 1.2686567164179106) internal successors, (85), 72 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 105 states. [2022-02-20 23:40:55,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:55,555 INFO L93 Difference]: Finished difference Result 105 states and 117 transitions. [2022-02-20 23:40:55,555 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 117 transitions. [2022-02-20 23:40:55,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:55,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:55,555 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:55,555 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:55,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 67 states have (on average 1.2686567164179106) internal successors, (85), 72 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 85 transitions. [2022-02-20 23:40:55,556 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 85 transitions. Word has length 18 [2022-02-20 23:40:55,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:55,556 INFO L470 AbstractCegarLoop]: Abstraction has 73 states and 85 transitions. [2022-02-20 23:40:55,556 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.0) internal successors, (18), 9 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,556 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 85 transitions. [2022-02-20 23:40:55,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:40:55,556 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:55,556 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:55,556 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2022-02-20 23:40:55,557 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr18ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:55,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:55,557 INFO L85 PathProgramCache]: Analyzing trace with hash -1419000974, now seen corresponding path program 1 times [2022-02-20 23:40:55,557 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:55,557 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [642910478] [2022-02-20 23:40:55,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:55,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:55,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:55,608 INFO L290 TraceCheckUtils]: 0: Hoare triple {6008#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6008#true} is VALID [2022-02-20 23:40:55,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {6008#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:40:55,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:40:55,609 INFO L290 TraceCheckUtils]: 3: Hoare triple {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:40:55,610 INFO L290 TraceCheckUtils]: 4: Hoare triple {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} is VALID [2022-02-20 23:40:55,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} is VALID [2022-02-20 23:40:55,611 INFO L290 TraceCheckUtils]: 6: Hoare triple {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} main_~i~1#1 := 0; {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} is VALID [2022-02-20 23:40:55,612 INFO L290 TraceCheckUtils]: 7: Hoare triple {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} is VALID [2022-02-20 23:40:55,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {6011#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,613 INFO L290 TraceCheckUtils]: 10: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,613 INFO L290 TraceCheckUtils]: 11: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,614 INFO L290 TraceCheckUtils]: 12: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,615 INFO L290 TraceCheckUtils]: 16: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume 0 == cstrcmp_#t~mem6#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1;cstrcmp_#res#1 := 0; {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:40:55,616 INFO L290 TraceCheckUtils]: 17: Hoare triple {6012#(and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_#t~malloc13#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc13#1.base| 0) |ULTIMATE.start_main_#t~malloc12#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} main_#t~ret18#1 := cstrcmp_#res#1;assume { :end_inline_cstrcmp } true;assume -2147483648 <= main_#t~ret18#1 && main_#t~ret18#1 <= 2147483647;main_#res#1 := main_#t~ret18#1;havoc main_#t~ret18#1;call ULTIMATE.dealloc(main_#t~malloc12#1.base, main_#t~malloc12#1.offset);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call ULTIMATE.dealloc(main_#t~malloc13#1.base, main_#t~malloc13#1.offset);havoc main_#t~malloc13#1.base, main_#t~malloc13#1.offset; {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:40:55,617 INFO L290 TraceCheckUtils]: 18: Hoare triple {6010#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {6009#false} is VALID [2022-02-20 23:40:55,617 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:55,617 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:55,617 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [642910478] [2022-02-20 23:40:55,617 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [642910478] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:55,617 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:55,617 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:55,617 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2099521846] [2022-02-20 23:40:55,617 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:55,618 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 23:40:55,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:55,618 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:55,631 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:55,631 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:55,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:55,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:55,632 INFO L87 Difference]: Start difference. First operand 73 states and 85 transitions. Second operand has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:55,716 INFO L93 Difference]: Finished difference Result 72 states and 84 transitions. [2022-02-20 23:40:55,717 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:55,717 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 23:40:55,717 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:55,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 40 transitions. [2022-02-20 23:40:55,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 40 transitions. [2022-02-20 23:40:55,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 40 transitions. [2022-02-20 23:40:55,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:55,754 INFO L225 Difference]: With dead ends: 72 [2022-02-20 23:40:55,754 INFO L226 Difference]: Without dead ends: 45 [2022-02-20 23:40:55,754 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:55,755 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 33 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 29 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:55,755 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 58 Invalid, 29 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:55,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-02-20 23:40:55,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2022-02-20 23:40:55,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:55,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 45 states, 40 states have (on average 1.225) internal successors, (49), 44 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,756 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 45 states, 40 states have (on average 1.225) internal successors, (49), 44 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,756 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 45 states, 40 states have (on average 1.225) internal successors, (49), 44 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:55,756 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-02-20 23:40:55,756 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-02-20 23:40:55,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:55,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:55,757 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 40 states have (on average 1.225) internal successors, (49), 44 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 45 states. [2022-02-20 23:40:55,757 INFO L87 Difference]: Start difference. First operand has 45 states, 40 states have (on average 1.225) internal successors, (49), 44 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 45 states. [2022-02-20 23:40:55,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:55,757 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-02-20 23:40:55,757 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-02-20 23:40:55,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:55,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:55,757 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:55,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:55,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 40 states have (on average 1.225) internal successors, (49), 44 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 49 transitions. [2022-02-20 23:40:55,758 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 49 transitions. Word has length 19 [2022-02-20 23:40:55,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:55,758 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 49 transitions. [2022-02-20 23:40:55,758 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.75) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:55,758 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-02-20 23:40:55,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:40:55,758 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:55,758 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:55,758 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20 [2022-02-20 23:40:55,759 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:55,759 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:55,759 INFO L85 PathProgramCache]: Analyzing trace with hash 453336425, now seen corresponding path program 1 times [2022-02-20 23:40:55,759 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:55,759 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [717712668] [2022-02-20 23:40:55,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:55,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:55,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:55,860 INFO L290 TraceCheckUtils]: 0: Hoare triple {6222#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6222#true} is VALID [2022-02-20 23:40:55,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {6222#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6222#true} is VALID [2022-02-20 23:40:55,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {6222#true} assume !(main_~length1~0#1 < 1); {6222#true} is VALID [2022-02-20 23:40:55,860 INFO L290 TraceCheckUtils]: 3: Hoare triple {6222#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6222#true} is VALID [2022-02-20 23:40:55,861 INFO L290 TraceCheckUtils]: 4: Hoare triple {6222#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {6224#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {6224#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {6225#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,862 INFO L290 TraceCheckUtils]: 6: Hoare triple {6225#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {6225#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,862 INFO L290 TraceCheckUtils]: 7: Hoare triple {6225#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {6225#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,862 INFO L290 TraceCheckUtils]: 8: Hoare triple {6225#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:40:55,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:40:55,863 INFO L290 TraceCheckUtils]: 10: Hoare triple {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} main_~i~1#1 := 0; {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:40:55,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:40:55,864 INFO L290 TraceCheckUtils]: 12: Hoare triple {6226#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {6227#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {6227#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:55,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:55,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {6228#(and (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {6229#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:55,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {6229#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {6230#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:55,868 INFO L290 TraceCheckUtils]: 20: Hoare triple {6230#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {6230#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:55,869 INFO L290 TraceCheckUtils]: 21: Hoare triple {6230#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {6223#false} is VALID [2022-02-20 23:40:55,869 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:55,869 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:55,869 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [717712668] [2022-02-20 23:40:55,869 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [717712668] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:40:55,869 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1932834922] [2022-02-20 23:40:55,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:55,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:55,870 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:55,870 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-02-20 23:40:55,872 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-02-20 23:40:55,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:55,929 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:40:55,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:55,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:56,012 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:56,013 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:40:56,022 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-02-20 23:40:56,233 INFO L290 TraceCheckUtils]: 0: Hoare triple {6222#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6222#true} is VALID [2022-02-20 23:40:56,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {6222#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6222#true} is VALID [2022-02-20 23:40:56,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {6222#true} assume !(main_~length1~0#1 < 1); {6222#true} is VALID [2022-02-20 23:40:56,234 INFO L290 TraceCheckUtils]: 3: Hoare triple {6222#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6222#true} is VALID [2022-02-20 23:40:56,235 INFO L290 TraceCheckUtils]: 4: Hoare triple {6222#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {6246#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {6246#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,239 INFO L290 TraceCheckUtils]: 10: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,240 INFO L290 TraceCheckUtils]: 12: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,241 INFO L290 TraceCheckUtils]: 13: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:56,241 INFO L290 TraceCheckUtils]: 14: Hoare triple {6250#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:56,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:56,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:56,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:56,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {6278#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {6291#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:40:56,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {6291#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {6295#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:40:56,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {6295#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {6295#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:40:56,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {6295#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {6223#false} is VALID [2022-02-20 23:40:56,244 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:56,244 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:56,711 INFO L290 TraceCheckUtils]: 21: Hoare triple {6302#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {6223#false} is VALID [2022-02-20 23:40:56,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {6302#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {6302#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:56,712 INFO L290 TraceCheckUtils]: 19: Hoare triple {6309#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {6302#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:56,713 INFO L290 TraceCheckUtils]: 18: Hoare triple {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {6309#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} is VALID [2022-02-20 23:40:56,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:56,714 INFO L290 TraceCheckUtils]: 16: Hoare triple {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:56,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:56,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {6313#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:40:56,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,715 INFO L290 TraceCheckUtils]: 12: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,716 INFO L290 TraceCheckUtils]: 10: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_~i~1#1 := 0; {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,716 INFO L290 TraceCheckUtils]: 9: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet15#1; {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,718 INFO L290 TraceCheckUtils]: 6: Hoare triple {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {6354#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {6326#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:40:56,723 INFO L290 TraceCheckUtils]: 4: Hoare triple {6222#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {6354#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:40:56,723 INFO L290 TraceCheckUtils]: 3: Hoare triple {6222#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6222#true} is VALID [2022-02-20 23:40:56,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {6222#true} assume !(main_~length1~0#1 < 1); {6222#true} is VALID [2022-02-20 23:40:56,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {6222#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6222#true} is VALID [2022-02-20 23:40:56,724 INFO L290 TraceCheckUtils]: 0: Hoare triple {6222#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6222#true} is VALID [2022-02-20 23:40:56,724 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:56,724 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1932834922] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:56,724 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:40:56,724 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 18 [2022-02-20 23:40:56,724 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440225191] [2022-02-20 23:40:56,724 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:56,724 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:40:56,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:56,725 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:56,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:56,761 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:40:56,761 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:56,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:40:56,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=284, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:40:56,762 INFO L87 Difference]: Start difference. First operand 45 states and 49 transitions. Second operand has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:57,351 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-02-20 23:40:57,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:40:57,351 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:40:57,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:57,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 55 transitions. [2022-02-20 23:40:57,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 55 transitions. [2022-02-20 23:40:57,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 55 transitions. [2022-02-20 23:40:57,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:57,415 INFO L225 Difference]: With dead ends: 60 [2022-02-20 23:40:57,415 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 23:40:57,415 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=140, Invalid=510, Unknown=0, NotChecked=0, Total=650 [2022-02-20 23:40:57,416 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 188 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 188 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 207 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:57,416 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [188 Valid, 139 Invalid, 207 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:57,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 23:40:57,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 46. [2022-02-20 23:40:57,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:57,417 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 46 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 45 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,417 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 46 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 45 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,417 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 46 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 45 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:57,417 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-02-20 23:40:57,417 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-02-20 23:40:57,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:57,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:57,418 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 45 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:40:57,418 INFO L87 Difference]: Start difference. First operand has 46 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 45 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:40:57,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:57,418 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-02-20 23:40:57,418 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-02-20 23:40:57,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:57,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:57,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:57,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:57,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 45 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-02-20 23:40:57,421 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 22 [2022-02-20 23:40:57,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:57,421 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-02-20 23:40:57,421 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 19 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,421 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-02-20 23:40:57,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:40:57,421 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:57,421 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:57,453 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-02-20 23:40:57,630 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:57,630 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:57,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:57,631 INFO L85 PathProgramCache]: Analyzing trace with hash 1864607690, now seen corresponding path program 1 times [2022-02-20 23:40:57,631 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:57,631 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [814144261] [2022-02-20 23:40:57,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:57,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:57,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:57,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {6609#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6609#true} is VALID [2022-02-20 23:40:57,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {6609#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6609#true} is VALID [2022-02-20 23:40:57,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {6609#true} assume !(main_~length1~0#1 < 1); {6609#true} is VALID [2022-02-20 23:40:57,792 INFO L290 TraceCheckUtils]: 3: Hoare triple {6609#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6611#(and (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,792 INFO L290 TraceCheckUtils]: 4: Hoare triple {6611#(and (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,793 INFO L290 TraceCheckUtils]: 6: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,794 INFO L290 TraceCheckUtils]: 10: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,795 INFO L290 TraceCheckUtils]: 12: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:57,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {6612#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {6613#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~nondetString2~0#1.offset|) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:57,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {6613#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~nondetString2~0#1.offset|) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {6614#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:57,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {6614#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6615#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:57,797 INFO L290 TraceCheckUtils]: 16: Hoare triple {6615#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6616#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:57,797 INFO L290 TraceCheckUtils]: 17: Hoare triple {6616#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {6617#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:57,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {6617#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {6618#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:40:57,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {6618#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {6619#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:40:57,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {6619#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {6610#false} is VALID [2022-02-20 23:40:57,799 INFO L290 TraceCheckUtils]: 21: Hoare triple {6610#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6610#false} is VALID [2022-02-20 23:40:57,799 INFO L290 TraceCheckUtils]: 22: Hoare triple {6610#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6610#false} is VALID [2022-02-20 23:40:57,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {6610#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {6610#false} is VALID [2022-02-20 23:40:57,799 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:57,799 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:57,799 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [814144261] [2022-02-20 23:40:57,799 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [814144261] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:57,799 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:57,799 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:40:57,799 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1334996316] [2022-02-20 23:40:57,799 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:57,800 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 24 [2022-02-20 23:40:57,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:57,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:57,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:57,817 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:40:57,817 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:57,817 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:40:57,817 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:40:57,817 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:58,172 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:40:58,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:40:58,172 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 24 [2022-02-20 23:40:58,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:58,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2022-02-20 23:40:58,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2022-02-20 23:40:58,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2022-02-20 23:40:58,206 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:58,206 INFO L225 Difference]: With dead ends: 55 [2022-02-20 23:40:58,206 INFO L226 Difference]: Without dead ends: 38 [2022-02-20 23:40:58,207 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=74, Invalid=232, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:40:58,207 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 21 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:58,207 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 200 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:58,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-02-20 23:40:58,208 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-02-20 23:40:58,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:58,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,208 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,208 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:58,209 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2022-02-20 23:40:58,209 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2022-02-20 23:40:58,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:58,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:58,209 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 38 states. [2022-02-20 23:40:58,209 INFO L87 Difference]: Start difference. First operand has 38 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 38 states. [2022-02-20 23:40:58,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:58,210 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2022-02-20 23:40:58,211 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2022-02-20 23:40:58,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:58,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:58,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:58,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:58,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 40 transitions. [2022-02-20 23:40:58,211 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 40 transitions. Word has length 24 [2022-02-20 23:40:58,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:58,211 INFO L470 AbstractCegarLoop]: Abstraction has 38 states and 40 transitions. [2022-02-20 23:40:58,211 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 11 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,211 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2022-02-20 23:40:58,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:40:58,212 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:58,212 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:58,212 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22 [2022-02-20 23:40:58,212 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:58,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:58,212 INFO L85 PathProgramCache]: Analyzing trace with hash -2007657780, now seen corresponding path program 1 times [2022-02-20 23:40:58,212 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:58,212 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181659374] [2022-02-20 23:40:58,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:58,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:58,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:58,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {6805#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6805#true} is VALID [2022-02-20 23:40:58,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {6805#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6805#true} is VALID [2022-02-20 23:40:58,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {6805#true} assume !(main_~length1~0#1 < 1); {6805#true} is VALID [2022-02-20 23:40:58,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {6805#true} assume !(main_~length2~0#1 < 1); {6807#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:58,427 INFO L290 TraceCheckUtils]: 4: Hoare triple {6807#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:58,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:58,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:58,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet15#1; {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:58,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:58,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:40:58,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {6808#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (<= 2 |ULTIMATE.start_main_~length2~0#1|)))} main_~i~1#1 := 0; {6809#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (and (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:40:58,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {6809#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (and (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6810#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:58,430 INFO L290 TraceCheckUtils]: 12: Hoare triple {6810#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {6810#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:40:58,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {6810#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {6811#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~nondetString2~0#1.offset|) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:40:58,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {6811#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~nondetString2~0#1.offset|) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {6812#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:58,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {6812#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6813#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:58,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {6813#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6814#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:58,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {6814#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {6815#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:40:58,433 INFO L290 TraceCheckUtils]: 18: Hoare triple {6815#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {6816#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:40:58,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {6816#(and (or (not (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {6817#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:40:58,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {6817#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {6806#false} is VALID [2022-02-20 23:40:58,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {6806#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {6806#false} is VALID [2022-02-20 23:40:58,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {6806#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {6806#false} is VALID [2022-02-20 23:40:58,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {6806#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {6806#false} is VALID [2022-02-20 23:40:58,434 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:58,434 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:58,434 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181659374] [2022-02-20 23:40:58,434 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [181659374] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:58,434 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:58,434 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-02-20 23:40:58,434 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [843094492] [2022-02-20 23:40:58,434 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:58,434 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 24 [2022-02-20 23:40:58,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:58,435 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:58,451 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:40:58,452 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:58,452 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:40:58,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:40:58,452 INFO L87 Difference]: Start difference. First operand 38 states and 40 transitions. Second operand has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:58,808 INFO L93 Difference]: Finished difference Result 51 states and 53 transitions. [2022-02-20 23:40:58,808 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:40:58,808 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 24 [2022-02-20 23:40:58,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:58,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 46 transitions. [2022-02-20 23:40:58,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 46 transitions. [2022-02-20 23:40:58,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 46 transitions. [2022-02-20 23:40:58,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:58,837 INFO L225 Difference]: With dead ends: 51 [2022-02-20 23:40:58,837 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 23:40:58,838 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=97, Invalid=283, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:40:58,838 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 60 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:58,838 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 136 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:58,838 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 23:40:58,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 39. [2022-02-20 23:40:58,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:58,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 39 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 38 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,839 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 39 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 38 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,839 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 39 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 38 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:58,840 INFO L93 Difference]: Finished difference Result 42 states and 44 transitions. [2022-02-20 23:40:58,840 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 44 transitions. [2022-02-20 23:40:58,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:58,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:58,840 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 38 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 42 states. [2022-02-20 23:40:58,840 INFO L87 Difference]: Start difference. First operand has 39 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 38 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 42 states. [2022-02-20 23:40:58,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:58,840 INFO L93 Difference]: Finished difference Result 42 states and 44 transitions. [2022-02-20 23:40:58,840 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 44 transitions. [2022-02-20 23:40:58,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:58,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:58,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:58,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:58,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 38 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 41 transitions. [2022-02-20 23:40:58,841 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 41 transitions. Word has length 24 [2022-02-20 23:40:58,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:58,841 INFO L470 AbstractCegarLoop]: Abstraction has 39 states and 41 transitions. [2022-02-20 23:40:58,841 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:58,841 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 41 transitions. [2022-02-20 23:40:58,841 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:40:58,841 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:58,841 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:58,841 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23 [2022-02-20 23:40:58,841 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:40:58,842 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:58,842 INFO L85 PathProgramCache]: Analyzing trace with hash 2045741993, now seen corresponding path program 1 times [2022-02-20 23:40:58,842 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:58,842 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1122296174] [2022-02-20 23:40:58,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:58,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:58,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:58,958 INFO L290 TraceCheckUtils]: 0: Hoare triple {7008#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7008#true} is VALID [2022-02-20 23:40:58,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {7008#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7008#true} is VALID [2022-02-20 23:40:58,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {7008#true} assume !(main_~length1~0#1 < 1); {7008#true} is VALID [2022-02-20 23:40:58,958 INFO L290 TraceCheckUtils]: 3: Hoare triple {7008#true} assume !(main_~length2~0#1 < 1); {7008#true} is VALID [2022-02-20 23:40:58,959 INFO L290 TraceCheckUtils]: 4: Hoare triple {7008#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,960 INFO L290 TraceCheckUtils]: 5: Hoare triple {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,960 INFO L290 TraceCheckUtils]: 6: Hoare triple {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,961 INFO L290 TraceCheckUtils]: 8: Hoare triple {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,962 INFO L290 TraceCheckUtils]: 10: Hoare triple {7010#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {7011#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,962 INFO L290 TraceCheckUtils]: 11: Hoare triple {7011#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,963 INFO L290 TraceCheckUtils]: 12: Hoare triple {7012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {7012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {7012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {7012#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,965 INFO L290 TraceCheckUtils]: 17: Hoare triple {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:58,965 INFO L290 TraceCheckUtils]: 18: Hoare triple {7013#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7014#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,966 INFO L290 TraceCheckUtils]: 19: Hoare triple {7014#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7014#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {7014#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7015#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} is VALID [2022-02-20 23:40:58,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {7015#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:58,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7017#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:40:58,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {7017#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {7009#false} is VALID [2022-02-20 23:40:58,969 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:58,970 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:58,970 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1122296174] [2022-02-20 23:40:58,970 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1122296174] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:40:58,970 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1384307694] [2022-02-20 23:40:58,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:58,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:58,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:58,971 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-02-20 23:40:58,993 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-02-20 23:40:59,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:59,062 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 24 conjunts are in the unsatisfiable core [2022-02-20 23:40:59,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:59,072 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {7008#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {7008#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {7008#true} assume !(main_~length1~0#1 < 1); {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {7008#true} assume !(main_~length2~0#1 < 1); {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 4: Hoare triple {7008#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {7008#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 6: Hoare triple {7008#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {7008#true} havoc main_#t~nondet15#1; {7008#true} is VALID [2022-02-20 23:40:59,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {7008#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7008#true} is VALID [2022-02-20 23:40:59,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {7008#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7008#true} is VALID [2022-02-20 23:40:59,270 INFO L290 TraceCheckUtils]: 10: Hoare triple {7008#true} main_~i~1#1 := 0; {7051#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:40:59,270 INFO L290 TraceCheckUtils]: 11: Hoare triple {7051#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,271 INFO L290 TraceCheckUtils]: 13: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7074#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} is VALID [2022-02-20 23:40:59,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {7074#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7078#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:40:59,273 INFO L290 TraceCheckUtils]: 19: Hoare triple {7078#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7078#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:40:59,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {7078#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7085#(and (< (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:40:59,274 INFO L290 TraceCheckUtils]: 21: Hoare triple {7085#(and (< (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,274 INFO L290 TraceCheckUtils]: 22: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,276 INFO L290 TraceCheckUtils]: 26: Hoare triple {7016#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7017#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:40:59,276 INFO L290 TraceCheckUtils]: 27: Hoare triple {7017#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {7009#false} is VALID [2022-02-20 23:40:59,277 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:59,277 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:59,489 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 5 treesize of output 3 [2022-02-20 23:40:59,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {7107#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {7009#false} is VALID [2022-02-20 23:40:59,562 INFO L290 TraceCheckUtils]: 26: Hoare triple {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7107#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:40:59,562 INFO L290 TraceCheckUtils]: 25: Hoare triple {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,563 INFO L290 TraceCheckUtils]: 24: Hoare triple {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,563 INFO L290 TraceCheckUtils]: 23: Hoare triple {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,563 INFO L290 TraceCheckUtils]: 22: Hoare triple {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,564 INFO L290 TraceCheckUtils]: 21: Hoare triple {7127#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7111#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:40:59,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {7131#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7127#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} is VALID [2022-02-20 23:40:59,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {7131#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7131#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:40:59,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {7138#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7131#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:40:59,566 INFO L290 TraceCheckUtils]: 17: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7138#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:40:59,566 INFO L290 TraceCheckUtils]: 16: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,567 INFO L290 TraceCheckUtils]: 14: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,567 INFO L290 TraceCheckUtils]: 13: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {7051#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7055#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:40:59,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {7008#true} main_~i~1#1 := 0; {7051#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:40:59,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {7008#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {7008#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {7008#true} havoc main_#t~nondet15#1; {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 6: Hoare triple {7008#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {7008#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 4: Hoare triple {7008#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 3: Hoare triple {7008#true} assume !(main_~length2~0#1 < 1); {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {7008#true} assume !(main_~length1~0#1 < 1); {7008#true} is VALID [2022-02-20 23:40:59,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {7008#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7008#true} is VALID [2022-02-20 23:40:59,570 INFO L290 TraceCheckUtils]: 0: Hoare triple {7008#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7008#true} is VALID [2022-02-20 23:40:59,570 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:59,570 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1384307694] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:59,570 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:40:59,570 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 19 [2022-02-20 23:40:59,570 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [22335380] [2022-02-20 23:40:59,570 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:59,571 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 28 [2022-02-20 23:40:59,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:59,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:59,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:59,605 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:40:59,605 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:59,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:40:59,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:40:59,606 INFO L87 Difference]: Start difference. First operand 39 states and 41 transitions. Second operand has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:00,292 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2022-02-20 23:41:00,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:41:00,292 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 28 [2022-02-20 23:41:00,292 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:00,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-02-20 23:41:00,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-02-20 23:41:00,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 48 transitions. [2022-02-20 23:41:00,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:00,331 INFO L225 Difference]: With dead ends: 45 [2022-02-20 23:41:00,331 INFO L226 Difference]: Without dead ends: 45 [2022-02-20 23:41:00,332 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 43 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=143, Invalid=559, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:41:00,332 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 182 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 252 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 182 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 252 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:00,332 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [182 Valid, 167 Invalid, 280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 252 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:41:00,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-02-20 23:41:00,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-02-20 23:41:00,333 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:00,333 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 41 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,333 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 41 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,333 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 41 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:00,333 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2022-02-20 23:41:00,333 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2022-02-20 23:41:00,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:00,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:00,334 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 45 states. [2022-02-20 23:41:00,334 INFO L87 Difference]: Start difference. First operand has 41 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 45 states. [2022-02-20 23:41:00,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:00,334 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2022-02-20 23:41:00,335 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2022-02-20 23:41:00,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:00,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:00,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:00,335 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:00,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 43 transitions. [2022-02-20 23:41:00,335 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 43 transitions. Word has length 28 [2022-02-20 23:41:00,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:00,335 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 43 transitions. [2022-02-20 23:41:00,335 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 3.0) internal successors, (57), 20 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:00,335 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 43 transitions. [2022-02-20 23:41:00,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:41:00,336 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:00,336 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:00,372 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:00,536 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:00,536 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:00,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:00,536 INFO L85 PathProgramCache]: Analyzing trace with hash -1136965878, now seen corresponding path program 1 times [2022-02-20 23:41:00,537 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:00,537 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867551242] [2022-02-20 23:41:00,537 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:00,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:00,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:00,610 INFO L290 TraceCheckUtils]: 0: Hoare triple {7382#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7382#true} is VALID [2022-02-20 23:41:00,610 INFO L290 TraceCheckUtils]: 1: Hoare triple {7382#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7382#true} is VALID [2022-02-20 23:41:00,610 INFO L290 TraceCheckUtils]: 2: Hoare triple {7382#true} assume !(main_~length1~0#1 < 1); {7382#true} is VALID [2022-02-20 23:41:00,610 INFO L290 TraceCheckUtils]: 3: Hoare triple {7382#true} assume !(main_~length2~0#1 < 1); {7382#true} is VALID [2022-02-20 23:41:00,610 INFO L290 TraceCheckUtils]: 4: Hoare triple {7382#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {7382#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 6: Hoare triple {7382#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {7382#true} havoc main_#t~nondet15#1; {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {7382#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {7382#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 10: Hoare triple {7382#true} main_~i~1#1 := 0; {7382#true} is VALID [2022-02-20 23:41:00,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {7382#true} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {7382#true} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {7382#true} havoc main_#t~nondet17#1; {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {7382#true} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {7382#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {7382#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 17: Hoare triple {7382#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7382#true} is VALID [2022-02-20 23:41:00,612 INFO L290 TraceCheckUtils]: 18: Hoare triple {7382#true} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7382#true} is VALID [2022-02-20 23:41:00,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {7382#true} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7382#true} is VALID [2022-02-20 23:41:00,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {7382#true} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7382#true} is VALID [2022-02-20 23:41:00,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {7382#true} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7382#true} is VALID [2022-02-20 23:41:00,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {7382#true} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7384#(<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:00,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {7384#(<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7385#(<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:00,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {7385#(<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7385#(<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:00,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {7385#(<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7386#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:00,615 INFO L290 TraceCheckUtils]: 26: Hoare triple {7386#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7386#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:00,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {7386#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7386#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:00,616 INFO L290 TraceCheckUtils]: 28: Hoare triple {7386#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7387#(and (<= 1 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)))} is VALID [2022-02-20 23:41:00,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {7387#(and (<= 1 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)))} assume !(1 + cstrcmp_#t~post5#1.offset <= #length[cstrcmp_#t~post5#1.base] && 0 <= cstrcmp_#t~post5#1.offset); {7383#false} is VALID [2022-02-20 23:41:00,617 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:00,617 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:00,617 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867551242] [2022-02-20 23:41:00,617 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [867551242] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:00,618 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [226510528] [2022-02-20 23:41:00,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:00,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:00,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:00,632 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-02-20 23:41:00,672 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-02-20 23:41:00,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:00,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 23:41:00,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:00,756 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:00,838 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:41:00,838 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:41:00,845 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-02-20 23:41:01,127 INFO L290 TraceCheckUtils]: 0: Hoare triple {7382#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7382#true} is VALID [2022-02-20 23:41:01,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {7382#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7382#true} is VALID [2022-02-20 23:41:01,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {7382#true} assume !(main_~length1~0#1 < 1); {7382#true} is VALID [2022-02-20 23:41:01,128 INFO L290 TraceCheckUtils]: 3: Hoare triple {7382#true} assume !(main_~length2~0#1 < 1); {7382#true} is VALID [2022-02-20 23:41:01,128 INFO L290 TraceCheckUtils]: 4: Hoare triple {7382#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7403#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {7403#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,129 INFO L290 TraceCheckUtils]: 6: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,131 INFO L290 TraceCheckUtils]: 10: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,132 INFO L290 TraceCheckUtils]: 12: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,133 INFO L290 TraceCheckUtils]: 16: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,134 INFO L290 TraceCheckUtils]: 17: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:01,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {7407#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:01,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:01,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:01,135 INFO L290 TraceCheckUtils]: 21: Hoare triple {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:01,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {7447#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7460#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:41:01,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {7460#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:01,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:01,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:01,138 INFO L290 TraceCheckUtils]: 26: Hoare triple {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:01,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:01,138 INFO L290 TraceCheckUtils]: 28: Hoare triple {7464#(and (< 1 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7480#(and (<= 1 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1))} is VALID [2022-02-20 23:41:01,139 INFO L290 TraceCheckUtils]: 29: Hoare triple {7480#(and (<= 1 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1))} assume !(1 + cstrcmp_#t~post5#1.offset <= #length[cstrcmp_#t~post5#1.base] && 0 <= cstrcmp_#t~post5#1.offset); {7383#false} is VALID [2022-02-20 23:41:01,139 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:01,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:01,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {7484#(and (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)))} assume !(1 + cstrcmp_#t~post5#1.offset <= #length[cstrcmp_#t~post5#1.base] && 0 <= cstrcmp_#t~post5#1.offset); {7383#false} is VALID [2022-02-20 23:41:01,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7484#(and (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)))} is VALID [2022-02-20 23:41:01,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,577 INFO L290 TraceCheckUtils]: 25: Hoare triple {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,577 INFO L290 TraceCheckUtils]: 24: Hoare triple {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {7504#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7488#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,578 INFO L290 TraceCheckUtils]: 22: Hoare triple {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7504#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} is VALID [2022-02-20 23:41:01,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,579 INFO L290 TraceCheckUtils]: 19: Hoare triple {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,580 INFO L290 TraceCheckUtils]: 18: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7508#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:01,580 INFO L290 TraceCheckUtils]: 17: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,580 INFO L290 TraceCheckUtils]: 16: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,581 INFO L290 TraceCheckUtils]: 15: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,581 INFO L290 TraceCheckUtils]: 13: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet17#1; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,582 INFO L290 TraceCheckUtils]: 12: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,582 INFO L290 TraceCheckUtils]: 10: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_~i~1#1 := 0; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet15#1; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,584 INFO L290 TraceCheckUtils]: 6: Hoare triple {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {7561#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7521#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:01,585 INFO L290 TraceCheckUtils]: 4: Hoare triple {7382#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7561#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:41:01,585 INFO L290 TraceCheckUtils]: 3: Hoare triple {7382#true} assume !(main_~length2~0#1 < 1); {7382#true} is VALID [2022-02-20 23:41:01,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {7382#true} assume !(main_~length1~0#1 < 1); {7382#true} is VALID [2022-02-20 23:41:01,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {7382#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7382#true} is VALID [2022-02-20 23:41:01,585 INFO L290 TraceCheckUtils]: 0: Hoare triple {7382#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7382#true} is VALID [2022-02-20 23:41:01,585 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:01,585 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [226510528] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:01,585 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:01,585 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 7, 7] total 17 [2022-02-20 23:41:01,585 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [456752173] [2022-02-20 23:41:01,585 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:01,586 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:41:01,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:01,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:01,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:01,622 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 23:41:01,622 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:01,622 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 23:41:01,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:41:01,623 INFO L87 Difference]: Start difference. First operand 41 states and 43 transitions. Second operand has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:02,040 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2022-02-20 23:41:02,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:41:02,041 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:41:02,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:02,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 50 transitions. [2022-02-20 23:41:02,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 50 transitions. [2022-02-20 23:41:02,043 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 50 transitions. [2022-02-20 23:41:02,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:02,075 INFO L225 Difference]: With dead ends: 47 [2022-02-20 23:41:02,075 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 23:41:02,075 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=156, Invalid=546, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:41:02,076 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 128 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 142 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 128 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 142 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:02,081 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [128 Valid, 109 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 142 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:02,081 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 23:41:02,082 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 40. [2022-02-20 23:41:02,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:02,082 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 40 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,082 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 40 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,082 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 40 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:02,083 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2022-02-20 23:41:02,083 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2022-02-20 23:41:02,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:02,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:02,084 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:41:02,084 INFO L87 Difference]: Start difference. First operand has 40 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:41:02,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:02,085 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2022-02-20 23:41:02,085 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2022-02-20 23:41:02,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:02,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:02,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:02,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:02,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 42 transitions. [2022-02-20 23:41:02,086 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 42 transitions. Word has length 30 [2022-02-20 23:41:02,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:02,086 INFO L470 AbstractCegarLoop]: Abstraction has 40 states and 42 transitions. [2022-02-20 23:41:02,086 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 4.823529411764706) internal successors, (82), 18 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,088 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 42 transitions. [2022-02-20 23:41:02,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:41:02,088 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:02,088 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:02,105 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-02-20 23:41:02,303 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-02-20 23:41:02,304 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting ULTIMATE.startErr17REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:02,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:02,304 INFO L85 PathProgramCache]: Analyzing trace with hash -1702563688, now seen corresponding path program 1 times [2022-02-20 23:41:02,304 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:02,304 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [126205402] [2022-02-20 23:41:02,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:02,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:02,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:02,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {7777#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7777#true} is VALID [2022-02-20 23:41:02,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {7777#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7777#true} is VALID [2022-02-20 23:41:02,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {7777#true} assume !(main_~length1~0#1 < 1); {7777#true} is VALID [2022-02-20 23:41:02,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {7777#true} assume !(main_~length2~0#1 < 1); {7777#true} is VALID [2022-02-20 23:41:02,459 INFO L290 TraceCheckUtils]: 4: Hoare triple {7777#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,460 INFO L290 TraceCheckUtils]: 6: Hoare triple {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,461 INFO L290 TraceCheckUtils]: 10: Hoare triple {7779#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {7780#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {7780#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7781#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,462 INFO L290 TraceCheckUtils]: 12: Hoare triple {7781#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7781#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {7781#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {7781#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {7781#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,464 INFO L290 TraceCheckUtils]: 16: Hoare triple {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,464 INFO L290 TraceCheckUtils]: 17: Hoare triple {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:02,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {7782#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7783#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,465 INFO L290 TraceCheckUtils]: 19: Hoare triple {7783#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7783#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {7783#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7784#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} is VALID [2022-02-20 23:41:02,466 INFO L290 TraceCheckUtils]: 21: Hoare triple {7784#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,466 INFO L290 TraceCheckUtils]: 22: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,467 INFO L290 TraceCheckUtils]: 23: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,467 INFO L290 TraceCheckUtils]: 24: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,468 INFO L290 TraceCheckUtils]: 25: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,468 INFO L290 TraceCheckUtils]: 26: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,468 INFO L290 TraceCheckUtils]: 27: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,469 INFO L290 TraceCheckUtils]: 28: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,469 INFO L290 TraceCheckUtils]: 29: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {7787#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} is VALID [2022-02-20 23:41:02,470 INFO L290 TraceCheckUtils]: 31: Hoare triple {7787#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} assume !(1 + cstrcmp_#t~pre7#1.offset <= #length[cstrcmp_#t~pre7#1.base] && 0 <= cstrcmp_#t~pre7#1.offset); {7778#false} is VALID [2022-02-20 23:41:02,470 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:02,470 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:02,471 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [126205402] [2022-02-20 23:41:02,471 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [126205402] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:02,471 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [726355977] [2022-02-20 23:41:02,471 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:02,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:02,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:02,472 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-02-20 23:41:02,474 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-02-20 23:41:02,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:02,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 32 conjunts are in the unsatisfiable core [2022-02-20 23:41:02,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:02,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:02,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {7777#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7777#true} is VALID [2022-02-20 23:41:02,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {7777#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7777#true} is VALID [2022-02-20 23:41:02,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {7777#true} assume !(main_~length1~0#1 < 1); {7777#true} is VALID [2022-02-20 23:41:02,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {7777#true} assume !(main_~length2~0#1 < 1); {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 4: Hoare triple {7777#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {7777#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {7777#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {7777#true} havoc main_#t~nondet15#1; {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {7777#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {7777#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7777#true} is VALID [2022-02-20 23:41:02,749 INFO L290 TraceCheckUtils]: 10: Hoare triple {7777#true} main_~i~1#1 := 0; {7821#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:02,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {7821#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:02,750 INFO L290 TraceCheckUtils]: 12: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:02,750 INFO L290 TraceCheckUtils]: 13: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:02,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:02,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:02,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:02,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7844#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} is VALID [2022-02-20 23:41:02,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {7844#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7848#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:02,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {7848#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7848#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:02,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {7848#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7855#(and (< (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,753 INFO L290 TraceCheckUtils]: 21: Hoare triple {7855#(and (< (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,754 INFO L290 TraceCheckUtils]: 23: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:02,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {7785#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,755 INFO L290 TraceCheckUtils]: 28: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,756 INFO L290 TraceCheckUtils]: 29: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:02,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {7786#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {7787#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} is VALID [2022-02-20 23:41:02,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {7787#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} assume !(1 + cstrcmp_#t~pre7#1.offset <= #length[cstrcmp_#t~pre7#1.base] && 0 <= cstrcmp_#t~pre7#1.offset); {7778#false} is VALID [2022-02-20 23:41:02,757 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:02,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:02,989 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 5 treesize of output 3 [2022-02-20 23:41:03,033 INFO L290 TraceCheckUtils]: 31: Hoare triple {7889#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} assume !(1 + cstrcmp_#t~pre7#1.offset <= #length[cstrcmp_#t~pre7#1.base] && 0 <= cstrcmp_#t~pre7#1.offset); {7778#false} is VALID [2022-02-20 23:41:03,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {7889#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} is VALID [2022-02-20 23:41:03,034 INFO L290 TraceCheckUtils]: 29: Hoare triple {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:03,035 INFO L290 TraceCheckUtils]: 28: Hoare triple {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:03,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:03,036 INFO L290 TraceCheckUtils]: 26: Hoare triple {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7893#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:03,036 INFO L290 TraceCheckUtils]: 25: Hoare triple {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:03,036 INFO L290 TraceCheckUtils]: 24: Hoare triple {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:03,037 INFO L290 TraceCheckUtils]: 23: Hoare triple {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:03,037 INFO L290 TraceCheckUtils]: 22: Hoare triple {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:03,038 INFO L290 TraceCheckUtils]: 21: Hoare triple {7922#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {7906#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:03,038 INFO L290 TraceCheckUtils]: 20: Hoare triple {7926#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {7922#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} is VALID [2022-02-20 23:41:03,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {7926#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {7926#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:03,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {7933#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {7926#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:03,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {7933#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:03,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:03,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:03,041 INFO L290 TraceCheckUtils]: 14: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:03,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:03,043 INFO L290 TraceCheckUtils]: 12: Hoare triple {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:03,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {7821#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {7825#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:03,044 INFO L290 TraceCheckUtils]: 10: Hoare triple {7777#true} main_~i~1#1 := 0; {7821#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:03,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {7777#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7777#true} is VALID [2022-02-20 23:41:03,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {7777#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {7777#true} is VALID [2022-02-20 23:41:03,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {7777#true} havoc main_#t~nondet15#1; {7777#true} is VALID [2022-02-20 23:41:03,044 INFO L290 TraceCheckUtils]: 6: Hoare triple {7777#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {7777#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L290 TraceCheckUtils]: 4: Hoare triple {7777#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L290 TraceCheckUtils]: 3: Hoare triple {7777#true} assume !(main_~length2~0#1 < 1); {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {7777#true} assume !(main_~length1~0#1 < 1); {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {7777#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L290 TraceCheckUtils]: 0: Hoare triple {7777#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7777#true} is VALID [2022-02-20 23:41:03,045 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:03,045 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [726355977] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:03,046 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:03,046 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 21 [2022-02-20 23:41:03,046 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1112111883] [2022-02-20 23:41:03,046 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:03,047 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:41:03,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:03,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:03,126 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-20 23:41:03,126 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:03,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-20 23:41:03,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=396, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:41:03,126 INFO L87 Difference]: Start difference. First operand 40 states and 42 transitions. Second operand has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:03,948 INFO L93 Difference]: Finished difference Result 52 states and 54 transitions. [2022-02-20 23:41:03,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:41:03,948 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:41:03,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:03,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-02-20 23:41:03,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-02-20 23:41:03,949 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2022-02-20 23:41:03,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:03,992 INFO L225 Difference]: With dead ends: 52 [2022-02-20 23:41:03,992 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 23:41:03,993 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=155, Invalid=657, Unknown=0, NotChecked=0, Total=812 [2022-02-20 23:41:03,993 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 216 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 273 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 216 SdHoareTripleChecker+Valid, 165 SdHoareTripleChecker+Invalid, 317 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 273 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:03,993 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [216 Valid, 165 Invalid, 317 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 273 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:41:03,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 23:41:03,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 41. [2022-02-20 23:41:03,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:03,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 41 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,994 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 41 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,994 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 41 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:03,994 INFO L93 Difference]: Finished difference Result 49 states and 51 transitions. [2022-02-20 23:41:03,994 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 51 transitions. [2022-02-20 23:41:03,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:03,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:03,995 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 23:41:03,996 INFO L87 Difference]: Start difference. First operand has 41 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 23:41:03,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:03,996 INFO L93 Difference]: Finished difference Result 49 states and 51 transitions. [2022-02-20 23:41:03,996 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 51 transitions. [2022-02-20 23:41:03,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:03,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:03,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:03,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:03,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 43 transitions. [2022-02-20 23:41:03,997 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 43 transitions. Word has length 32 [2022-02-20 23:41:03,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:03,997 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 43 transitions. [2022-02-20 23:41:03,997 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 22 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:03,997 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 43 transitions. [2022-02-20 23:41:03,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:41:03,997 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:03,997 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:04,015 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-02-20 23:41:04,207 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-02-20 23:41:04,208 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:04,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:04,208 INFO L85 PathProgramCache]: Analyzing trace with hash -1702514921, now seen corresponding path program 1 times [2022-02-20 23:41:04,208 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:04,208 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2117409154] [2022-02-20 23:41:04,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:04,208 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:04,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:04,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {8192#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8192#true} is VALID [2022-02-20 23:41:04,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {8192#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {8192#true} is VALID [2022-02-20 23:41:04,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {8192#true} assume !(main_~length1~0#1 < 1); {8192#true} is VALID [2022-02-20 23:41:04,451 INFO L290 TraceCheckUtils]: 3: Hoare triple {8192#true} assume !(main_~length2~0#1 < 1); {8192#true} is VALID [2022-02-20 23:41:04,452 INFO L290 TraceCheckUtils]: 4: Hoare triple {8192#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {8194#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (= |ULTIMATE.start_main_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {8194#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (= |ULTIMATE.start_main_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8195#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {8195#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8195#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {8195#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {8195#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {8195#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8196#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2) (<= |ULTIMATE.start_main_~i~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:04,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {8196#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2) (<= |ULTIMATE.start_main_~i~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,456 INFO L290 TraceCheckUtils]: 12: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {8197#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {8198#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {8198#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {8198#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:04,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {8198#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:04,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:04,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:04,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:04,460 INFO L290 TraceCheckUtils]: 22: Hoare triple {8199#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8200#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0) (< |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)))} is VALID [2022-02-20 23:41:04,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {8200#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0) (< |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:04,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:04,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:04,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:04,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:04,462 INFO L290 TraceCheckUtils]: 28: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8202#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:04,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {8202#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8203#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:04,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {8203#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8193#false} is VALID [2022-02-20 23:41:04,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {8193#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {8193#false} is VALID [2022-02-20 23:41:04,463 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:04,463 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:04,463 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2117409154] [2022-02-20 23:41:04,463 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2117409154] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:04,463 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [429677364] [2022-02-20 23:41:04,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:04,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:04,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:04,464 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-02-20 23:41:04,465 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-02-20 23:41:04,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:04,515 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 43 conjunts are in the unsatisfiable core [2022-02-20 23:41:04,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:04,523 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:04,541 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-02-20 23:41:04,752 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 10 [2022-02-20 23:41:04,879 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 19 [2022-02-20 23:41:06,124 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:41:06,128 INFO L290 TraceCheckUtils]: 0: Hoare triple {8192#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8192#true} is VALID [2022-02-20 23:41:06,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {8192#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {8192#true} is VALID [2022-02-20 23:41:06,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {8192#true} assume !(main_~length1~0#1 < 1); {8192#true} is VALID [2022-02-20 23:41:06,128 INFO L290 TraceCheckUtils]: 3: Hoare triple {8192#true} assume !(main_~length2~0#1 < 1); {8192#true} is VALID [2022-02-20 23:41:06,129 INFO L290 TraceCheckUtils]: 4: Hoare triple {8192#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {8219#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {8219#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8223#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,130 INFO L290 TraceCheckUtils]: 6: Hoare triple {8223#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8223#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {8223#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {8223#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {8223#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8233#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:06,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,132 INFO L290 TraceCheckUtils]: 10: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,134 INFO L290 TraceCheckUtils]: 15: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {8237#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {8259#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {8259#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {8263#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:06,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {8263#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} is VALID [2022-02-20 23:41:06,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} is VALID [2022-02-20 23:41:06,142 INFO L290 TraceCheckUtils]: 20: Hoare triple {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} is VALID [2022-02-20 23:41:06,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} is VALID [2022-02-20 23:41:06,151 INFO L290 TraceCheckUtils]: 22: Hoare triple {8267#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8280#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))))} is VALID [2022-02-20 23:41:06,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {8280#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int) (|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:06,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:06,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:06,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:06,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:06,154 INFO L290 TraceCheckUtils]: 28: Hoare triple {8201#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8299#(and (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} is VALID [2022-02-20 23:41:06,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {8299#(and (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8203#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:06,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {8203#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8193#false} is VALID [2022-02-20 23:41:06,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {8193#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {8193#false} is VALID [2022-02-20 23:41:06,155 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:06,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:06,652 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_337 (Array Int Int)) (|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (< |c_ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_337) |c_ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)))) is different from false [2022-02-20 23:41:06,723 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:06,724 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 24 [2022-02-20 23:41:06,743 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:06,743 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 37 treesize of output 37 [2022-02-20 23:41:06,762 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 11 treesize of output 7 [2022-02-20 23:41:07,309 INFO L290 TraceCheckUtils]: 31: Hoare triple {8193#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {8193#false} is VALID [2022-02-20 23:41:07,310 INFO L290 TraceCheckUtils]: 30: Hoare triple {8203#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8193#false} is VALID [2022-02-20 23:41:07,310 INFO L290 TraceCheckUtils]: 29: Hoare triple {8202#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8203#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:07,311 INFO L290 TraceCheckUtils]: 28: Hoare triple {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8202#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:07,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:07,311 INFO L290 TraceCheckUtils]: 26: Hoare triple {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:07,311 INFO L290 TraceCheckUtils]: 25: Hoare triple {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:07,312 INFO L290 TraceCheckUtils]: 24: Hoare triple {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:07,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {8334#(or (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8318#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:07,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8334#(or (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:07,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} is VALID [2022-02-20 23:41:07,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} is VALID [2022-02-20 23:41:07,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} is VALID [2022-02-20 23:41:07,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {8351#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {8338#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (not (<= |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|))))} is VALID [2022-02-20 23:41:07,316 INFO L290 TraceCheckUtils]: 17: Hoare triple {8355#(forall ((v_ArrVal_337 (Array Int Int)) (|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_337) |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {8351#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)))} is VALID [2022-02-20 23:41:07,317 INFO L290 TraceCheckUtils]: 16: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {8355#(forall ((v_ArrVal_337 (Array Int Int)) (|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_337) |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23| 1)) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_23|)))} is VALID [2022-02-20 23:41:07,318 INFO L290 TraceCheckUtils]: 15: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,318 INFO L290 TraceCheckUtils]: 13: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} havoc main_#t~nondet17#1; {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,319 INFO L290 TraceCheckUtils]: 12: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,320 INFO L290 TraceCheckUtils]: 11: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} main_~i~1#1 := 0; {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,321 INFO L290 TraceCheckUtils]: 9: Hoare triple {8381#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8359#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2)))} is VALID [2022-02-20 23:41:07,321 INFO L290 TraceCheckUtils]: 8: Hoare triple {8385#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8381#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} is VALID [2022-02-20 23:41:07,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {8385#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} havoc main_#t~nondet15#1; {8385#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} is VALID [2022-02-20 23:41:07,322 INFO L290 TraceCheckUtils]: 6: Hoare triple {8385#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8385#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} is VALID [2022-02-20 23:41:07,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {8395#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) 0)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8385#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))))} is VALID [2022-02-20 23:41:07,324 INFO L290 TraceCheckUtils]: 4: Hoare triple {8192#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {8395#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) 0)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 23:41:07,324 INFO L290 TraceCheckUtils]: 3: Hoare triple {8192#true} assume !(main_~length2~0#1 < 1); {8192#true} is VALID [2022-02-20 23:41:07,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {8192#true} assume !(main_~length1~0#1 < 1); {8192#true} is VALID [2022-02-20 23:41:07,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {8192#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {8192#true} is VALID [2022-02-20 23:41:07,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {8192#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8192#true} is VALID [2022-02-20 23:41:07,324 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:07,325 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [429677364] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:07,325 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:07,325 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13, 13] total 30 [2022-02-20 23:41:07,325 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1910106213] [2022-02-20 23:41:07,325 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:07,327 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:41:07,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:07,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:07,415 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-02-20 23:41:07,415 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:07,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-02-20 23:41:07,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=717, Unknown=1, NotChecked=54, Total=870 [2022-02-20 23:41:07,416 INFO L87 Difference]: Start difference. First operand 41 states and 43 transitions. Second operand has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:08,003 INFO L93 Difference]: Finished difference Result 69 states and 72 transitions. [2022-02-20 23:41:08,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:41:08,003 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:41:08,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:08,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 61 transitions. [2022-02-20 23:41:08,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 61 transitions. [2022-02-20 23:41:08,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 61 transitions. [2022-02-20 23:41:08,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 60 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:08,061 INFO L225 Difference]: With dead ends: 69 [2022-02-20 23:41:08,061 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 23:41:08,062 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 247 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=171, Invalid=1164, Unknown=1, NotChecked=70, Total=1406 [2022-02-20 23:41:08,062 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 77 mSDsluCounter, 281 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 301 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 87 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:08,063 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 301 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 211 Invalid, 0 Unknown, 87 Unchecked, 0.1s Time] [2022-02-20 23:41:08,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 23:41:08,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 45. [2022-02-20 23:41:08,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:08,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 45 states, 42 states have (on average 1.119047619047619) internal successors, (47), 44 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,064 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 45 states, 42 states have (on average 1.119047619047619) internal successors, (47), 44 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,064 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 45 states, 42 states have (on average 1.119047619047619) internal successors, (47), 44 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:08,064 INFO L93 Difference]: Finished difference Result 48 states and 50 transitions. [2022-02-20 23:41:08,064 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 50 transitions. [2022-02-20 23:41:08,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:08,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:08,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 42 states have (on average 1.119047619047619) internal successors, (47), 44 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 23:41:08,065 INFO L87 Difference]: Start difference. First operand has 45 states, 42 states have (on average 1.119047619047619) internal successors, (47), 44 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 23:41:08,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:08,066 INFO L93 Difference]: Finished difference Result 48 states and 50 transitions. [2022-02-20 23:41:08,066 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 50 transitions. [2022-02-20 23:41:08,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:08,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:08,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:08,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:08,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.119047619047619) internal successors, (47), 44 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 47 transitions. [2022-02-20 23:41:08,067 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 47 transitions. Word has length 32 [2022-02-20 23:41:08,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:08,067 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 47 transitions. [2022-02-20 23:41:08,067 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,067 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 47 transitions. [2022-02-20 23:41:08,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 23:41:08,067 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:08,067 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:08,086 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-02-20 23:41:08,284 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable27,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:08,284 INFO L402 AbstractCegarLoop]: === Iteration 29 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:08,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:08,284 INFO L85 PathProgramCache]: Analyzing trace with hash 956999220, now seen corresponding path program 2 times [2022-02-20 23:41:08,284 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:08,284 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [859930210] [2022-02-20 23:41:08,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:08,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:08,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:08,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {8636#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8636#true} is VALID [2022-02-20 23:41:08,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {8636#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {8636#true} is VALID [2022-02-20 23:41:08,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {8636#true} assume !(main_~length1~0#1 < 1); {8636#true} is VALID [2022-02-20 23:41:08,404 INFO L290 TraceCheckUtils]: 3: Hoare triple {8636#true} assume !(main_~length2~0#1 < 1); {8636#true} is VALID [2022-02-20 23:41:08,405 INFO L290 TraceCheckUtils]: 4: Hoare triple {8636#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,406 INFO L290 TraceCheckUtils]: 6: Hoare triple {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,406 INFO L290 TraceCheckUtils]: 7: Hoare triple {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {8638#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8639#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {8639#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,408 INFO L290 TraceCheckUtils]: 12: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,408 INFO L290 TraceCheckUtils]: 14: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,408 INFO L290 TraceCheckUtils]: 15: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,409 INFO L290 TraceCheckUtils]: 16: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,409 INFO L290 TraceCheckUtils]: 17: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,410 INFO L290 TraceCheckUtils]: 19: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,410 INFO L290 TraceCheckUtils]: 20: Hoare triple {8640#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {8641#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,411 INFO L290 TraceCheckUtils]: 21: Hoare triple {8641#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {8641#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:08,411 INFO L290 TraceCheckUtils]: 22: Hoare triple {8641#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:08,411 INFO L290 TraceCheckUtils]: 23: Hoare triple {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:08,412 INFO L290 TraceCheckUtils]: 24: Hoare triple {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:08,412 INFO L290 TraceCheckUtils]: 25: Hoare triple {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:08,412 INFO L290 TraceCheckUtils]: 26: Hoare triple {8642#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8643#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:08,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {8643#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,413 INFO L290 TraceCheckUtils]: 28: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,414 INFO L290 TraceCheckUtils]: 31: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,415 INFO L290 TraceCheckUtils]: 34: Hoare triple {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,416 INFO L290 TraceCheckUtils]: 35: Hoare triple {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {8637#false} is VALID [2022-02-20 23:41:08,416 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:08,416 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:08,416 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [859930210] [2022-02-20 23:41:08,416 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [859930210] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:08,416 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [719866625] [2022-02-20 23:41:08,417 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:41:08,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:08,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:08,418 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-02-20 23:41:08,419 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-02-20 23:41:08,514 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:41:08,515 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:08,516 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 29 conjunts are in the unsatisfiable core [2022-02-20 23:41:08,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:08,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:08,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {8636#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8636#true} is VALID [2022-02-20 23:41:08,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {8636#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {8636#true} is VALID [2022-02-20 23:41:08,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {8636#true} assume !(main_~length1~0#1 < 1); {8636#true} is VALID [2022-02-20 23:41:08,824 INFO L290 TraceCheckUtils]: 3: Hoare triple {8636#true} assume !(main_~length2~0#1 < 1); {8636#true} is VALID [2022-02-20 23:41:08,825 INFO L290 TraceCheckUtils]: 4: Hoare triple {8636#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:08,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:08,825 INFO L290 TraceCheckUtils]: 6: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:08,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet15#1; {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:08,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8674#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:08,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {8674#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,826 INFO L290 TraceCheckUtils]: 10: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet15#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,827 INFO L290 TraceCheckUtils]: 12: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,827 INFO L290 TraceCheckUtils]: 14: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} main_~i~1#1 := 0; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,828 INFO L290 TraceCheckUtils]: 16: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,828 INFO L290 TraceCheckUtils]: 17: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet17#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,828 INFO L290 TraceCheckUtils]: 18: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:08,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {8712#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:41:08,830 INFO L290 TraceCheckUtils]: 21: Hoare triple {8712#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {8712#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:41:08,830 INFO L290 TraceCheckUtils]: 22: Hoare triple {8712#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} is VALID [2022-02-20 23:41:08,830 INFO L290 TraceCheckUtils]: 23: Hoare triple {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} is VALID [2022-02-20 23:41:08,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} is VALID [2022-02-20 23:41:08,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} is VALID [2022-02-20 23:41:08,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {8719#(< (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8732#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (< (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 2) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {8732#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (< (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 2) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,833 INFO L290 TraceCheckUtils]: 28: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,833 INFO L290 TraceCheckUtils]: 29: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {8644#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:08,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {8645#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {8637#false} is VALID [2022-02-20 23:41:08,836 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:08,836 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:09,083 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 5 treesize of output 3 [2022-02-20 23:41:09,137 INFO L290 TraceCheckUtils]: 35: Hoare triple {8760#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {8637#false} is VALID [2022-02-20 23:41:09,137 INFO L290 TraceCheckUtils]: 34: Hoare triple {8760#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8760#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {8760#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8760#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,138 INFO L290 TraceCheckUtils]: 32: Hoare triple {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8760#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,139 INFO L290 TraceCheckUtils]: 30: Hoare triple {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,139 INFO L290 TraceCheckUtils]: 29: Hoare triple {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,140 INFO L290 TraceCheckUtils]: 28: Hoare triple {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,140 INFO L290 TraceCheckUtils]: 27: Hoare triple {8786#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {8770#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {8786#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} is VALID [2022-02-20 23:41:09,141 INFO L290 TraceCheckUtils]: 25: Hoare triple {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,141 INFO L290 TraceCheckUtils]: 24: Hoare triple {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,142 INFO L290 TraceCheckUtils]: 22: Hoare triple {8803#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {8790#(or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:09,142 INFO L290 TraceCheckUtils]: 21: Hoare triple {8803#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {8803#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:09,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {8803#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:41:09,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,143 INFO L290 TraceCheckUtils]: 17: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet17#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,144 INFO L290 TraceCheckUtils]: 16: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} main_~i~1#1 := 0; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,145 INFO L290 TraceCheckUtils]: 11: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet15#1; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,145 INFO L290 TraceCheckUtils]: 10: Hoare triple {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {8674#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8678#(< 2 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:09,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {8674#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:09,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet15#1; {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:09,146 INFO L290 TraceCheckUtils]: 6: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:09,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:09,147 INFO L290 TraceCheckUtils]: 4: Hoare triple {8636#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {8661#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:09,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {8636#true} assume !(main_~length2~0#1 < 1); {8636#true} is VALID [2022-02-20 23:41:09,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {8636#true} assume !(main_~length1~0#1 < 1); {8636#true} is VALID [2022-02-20 23:41:09,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {8636#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {8636#true} is VALID [2022-02-20 23:41:09,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {8636#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8636#true} is VALID [2022-02-20 23:41:09,147 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:09,148 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [719866625] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:09,148 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:09,148 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 20 [2022-02-20 23:41:09,148 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [192018362] [2022-02-20 23:41:09,148 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:09,148 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 36 [2022-02-20 23:41:09,149 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:09,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,212 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:09,212 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 23:41:09,213 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:09,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 23:41:09,215 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=359, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:41:09,215 INFO L87 Difference]: Start difference. First operand 45 states and 47 transitions. Second operand has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:09,829 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2022-02-20 23:41:09,830 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:41:09,830 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 36 [2022-02-20 23:41:09,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:09,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-02-20 23:41:09,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-02-20 23:41:09,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-02-20 23:41:09,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:09,863 INFO L225 Difference]: With dead ends: 56 [2022-02-20 23:41:09,863 INFO L226 Difference]: Without dead ends: 56 [2022-02-20 23:41:09,863 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=163, Invalid=593, Unknown=0, NotChecked=0, Total=756 [2022-02-20 23:41:09,868 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 253 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 253 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:09,868 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [253 Valid, 152 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:41:09,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-02-20 23:41:09,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 48. [2022-02-20 23:41:09,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:09,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 48 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,870 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 48 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,870 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 48 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:09,871 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2022-02-20 23:41:09,871 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 58 transitions. [2022-02-20 23:41:09,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:09,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:09,871 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 56 states. [2022-02-20 23:41:09,872 INFO L87 Difference]: Start difference. First operand has 48 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 56 states. [2022-02-20 23:41:09,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:09,872 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2022-02-20 23:41:09,872 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 58 transitions. [2022-02-20 23:41:09,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:09,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:09,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:09,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:09,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 50 transitions. [2022-02-20 23:41:09,873 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 50 transitions. Word has length 36 [2022-02-20 23:41:09,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:09,874 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 50 transitions. [2022-02-20 23:41:09,874 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 3.8) internal successors, (76), 21 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:09,874 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 50 transitions. [2022-02-20 23:41:09,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 23:41:09,874 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:09,874 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:09,897 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:10,087 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-02-20 23:41:10,088 INFO L402 AbstractCegarLoop]: === Iteration 30 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:10,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:10,088 INFO L85 PathProgramCache]: Analyzing trace with hash 553249237, now seen corresponding path program 2 times [2022-02-20 23:41:10,088 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:10,088 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [165640526] [2022-02-20 23:41:10,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:10,088 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:10,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:10,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {9099#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9099#true} is VALID [2022-02-20 23:41:10,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {9099#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {9099#true} is VALID [2022-02-20 23:41:10,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {9099#true} assume !(main_~length1~0#1 < 1); {9099#true} is VALID [2022-02-20 23:41:10,522 INFO L290 TraceCheckUtils]: 3: Hoare triple {9099#true} assume !(main_~length2~0#1 < 1); {9099#true} is VALID [2022-02-20 23:41:10,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {9099#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} havoc main_#t~nondet15#1; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,525 INFO L290 TraceCheckUtils]: 8: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,526 INFO L290 TraceCheckUtils]: 10: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} havoc main_#t~nondet15#1; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,527 INFO L290 TraceCheckUtils]: 12: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {9101#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} main_~i~1#1 := 0; {9102#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0)))} is VALID [2022-02-20 23:41:10,529 INFO L290 TraceCheckUtils]: 15: Hoare triple {9102#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9103#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0) (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:10,530 INFO L290 TraceCheckUtils]: 16: Hoare triple {9103#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0) (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9104#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0) (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:10,531 INFO L290 TraceCheckUtils]: 17: Hoare triple {9104#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0) (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet17#1; {9104#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0) (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:10,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {9104#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0) (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9105#(and (or (and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} is VALID [2022-02-20 23:41:10,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {9105#(and (or (and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9106#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))} is VALID [2022-02-20 23:41:10,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {9106#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {9106#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))} is VALID [2022-02-20 23:41:10,533 INFO L290 TraceCheckUtils]: 21: Hoare triple {9106#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (- 2)) 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {9107#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1) 0))} is VALID [2022-02-20 23:41:10,533 INFO L290 TraceCheckUtils]: 22: Hoare triple {9107#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1) 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {9108#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:10,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {9108#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9108#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:10,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {9108#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 1) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9109#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:10,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {9109#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9110#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:10,535 INFO L290 TraceCheckUtils]: 26: Hoare triple {9110#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9111#(or (and (not (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))} is VALID [2022-02-20 23:41:10,536 INFO L290 TraceCheckUtils]: 27: Hoare triple {9111#(or (and (not (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:10,536 INFO L290 TraceCheckUtils]: 28: Hoare triple {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:10,537 INFO L290 TraceCheckUtils]: 29: Hoare triple {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9113#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:10,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {9113#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9114#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:10,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {9114#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9115#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:10,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {9115#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9116#(and (< 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} is VALID [2022-02-20 23:41:10,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {9116#(and (< 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9117#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:10,539 INFO L290 TraceCheckUtils]: 34: Hoare triple {9117#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9100#false} is VALID [2022-02-20 23:41:10,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {9100#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9100#false} is VALID [2022-02-20 23:41:10,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {9100#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9100#false} is VALID [2022-02-20 23:41:10,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {9100#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {9100#false} is VALID [2022-02-20 23:41:10,539 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 7 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:10,539 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:10,539 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [165640526] [2022-02-20 23:41:10,539 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [165640526] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:10,539 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1908145954] [2022-02-20 23:41:10,539 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:41:10,539 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:10,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:10,541 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:10,562 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 23:41:10,628 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:41:10,629 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:10,630 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 64 conjunts are in the unsatisfiable core [2022-02-20 23:41:10,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:10,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:10,845 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 14 treesize of output 10 [2022-02-20 23:41:11,257 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-02-20 23:41:11,258 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 26 treesize of output 10 [2022-02-20 23:41:11,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {9099#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9099#true} is VALID [2022-02-20 23:41:11,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {9099#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {9099#true} is VALID [2022-02-20 23:41:11,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {9099#true} assume !(main_~length1~0#1 < 1); {9099#true} is VALID [2022-02-20 23:41:11,262 INFO L290 TraceCheckUtils]: 3: Hoare triple {9099#true} assume !(main_~length2~0#1 < 1); {9099#true} is VALID [2022-02-20 23:41:11,263 INFO L290 TraceCheckUtils]: 4: Hoare triple {9099#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,263 INFO L290 TraceCheckUtils]: 5: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,263 INFO L290 TraceCheckUtils]: 6: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} havoc main_#t~nondet15#1; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,264 INFO L290 TraceCheckUtils]: 10: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} havoc main_#t~nondet15#1; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:11,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {9133#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} main_~i~1#1 := 0; {9164#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:11,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {9164#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9168#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:11,267 INFO L290 TraceCheckUtils]: 16: Hoare triple {9168#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9168#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:11,267 INFO L290 TraceCheckUtils]: 17: Hoare triple {9168#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {9168#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:11,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {9168#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9178#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:11,268 INFO L290 TraceCheckUtils]: 19: Hoare triple {9178#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9182#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:41:11,268 INFO L290 TraceCheckUtils]: 20: Hoare triple {9182#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {9182#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:41:11,269 INFO L290 TraceCheckUtils]: 21: Hoare triple {9182#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {9189#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:41:11,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {9189#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {9193#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:11,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {9193#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9193#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:11,271 INFO L290 TraceCheckUtils]: 24: Hoare triple {9193#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9110#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:11,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {9110#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9110#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:11,272 INFO L290 TraceCheckUtils]: 26: Hoare triple {9110#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:11,273 INFO L290 TraceCheckUtils]: 27: Hoare triple {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:11,273 INFO L290 TraceCheckUtils]: 28: Hoare triple {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:11,273 INFO L290 TraceCheckUtils]: 29: Hoare triple {9112#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9113#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:11,274 INFO L290 TraceCheckUtils]: 30: Hoare triple {9113#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9114#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:11,274 INFO L290 TraceCheckUtils]: 31: Hoare triple {9114#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9221#(and (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:11,275 INFO L290 TraceCheckUtils]: 32: Hoare triple {9221#(and (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9225#(and (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0))))} is VALID [2022-02-20 23:41:11,276 INFO L290 TraceCheckUtils]: 33: Hoare triple {9225#(and (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9117#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:11,276 INFO L290 TraceCheckUtils]: 34: Hoare triple {9117#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9100#false} is VALID [2022-02-20 23:41:11,276 INFO L290 TraceCheckUtils]: 35: Hoare triple {9100#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9100#false} is VALID [2022-02-20 23:41:11,276 INFO L290 TraceCheckUtils]: 36: Hoare triple {9100#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9100#false} is VALID [2022-02-20 23:41:11,276 INFO L290 TraceCheckUtils]: 37: Hoare triple {9100#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {9100#false} is VALID [2022-02-20 23:41:11,276 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 7 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:11,276 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:11,557 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:11,557 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 103 treesize of output 103 [2022-02-20 23:41:11,648 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 40 treesize of output 36 [2022-02-20 23:41:11,657 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 7 treesize of output 3 [2022-02-20 23:41:11,872 INFO L290 TraceCheckUtils]: 37: Hoare triple {9100#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {9100#false} is VALID [2022-02-20 23:41:11,873 INFO L290 TraceCheckUtils]: 36: Hoare triple {9100#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9100#false} is VALID [2022-02-20 23:41:11,873 INFO L290 TraceCheckUtils]: 35: Hoare triple {9100#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9100#false} is VALID [2022-02-20 23:41:11,873 INFO L290 TraceCheckUtils]: 34: Hoare triple {9117#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9100#false} is VALID [2022-02-20 23:41:11,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {9253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9117#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:11,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {9257#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:11,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {9261#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9257#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:11,875 INFO L290 TraceCheckUtils]: 30: Hoare triple {9265#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9261#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:11,875 INFO L290 TraceCheckUtils]: 29: Hoare triple {9269#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9265#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:11,876 INFO L290 TraceCheckUtils]: 28: Hoare triple {9269#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9269#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:11,876 INFO L290 TraceCheckUtils]: 27: Hoare triple {9269#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9269#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:11,877 INFO L290 TraceCheckUtils]: 26: Hoare triple {9279#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9269#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:11,878 INFO L290 TraceCheckUtils]: 25: Hoare triple {9279#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9279#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:11,878 INFO L290 TraceCheckUtils]: 24: Hoare triple {9286#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9279#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:11,879 INFO L290 TraceCheckUtils]: 23: Hoare triple {9286#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9286#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:11,880 INFO L290 TraceCheckUtils]: 22: Hoare triple {9293#(forall ((|ULTIMATE.start_main_~nondetString1~0#1.base| Int)) (or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {9286#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:11,880 INFO L290 TraceCheckUtils]: 21: Hoare triple {9297#(forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {9293#(forall ((|ULTIMATE.start_main_~nondetString1~0#1.base| Int)) (or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0)))} is VALID [2022-02-20 23:41:11,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {9297#(forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {9297#(forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:11,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {9304#(or (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9297#(forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:11,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {9308#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9304#(or (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:11,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {9308#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet17#1; {9308#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:11,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {9308#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9308#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:11,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {9318#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9308#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {9099#true} main_~i~1#1 := 0; {9318#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {9099#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 12: Hoare triple {9099#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {9099#true} havoc main_#t~nondet15#1; {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 10: Hoare triple {9099#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {9099#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {9099#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {9099#true} havoc main_#t~nondet15#1; {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 6: Hoare triple {9099#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9099#true} is VALID [2022-02-20 23:41:11,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {9099#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9099#true} is VALID [2022-02-20 23:41:11,885 INFO L290 TraceCheckUtils]: 4: Hoare triple {9099#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {9099#true} is VALID [2022-02-20 23:41:11,885 INFO L290 TraceCheckUtils]: 3: Hoare triple {9099#true} assume !(main_~length2~0#1 < 1); {9099#true} is VALID [2022-02-20 23:41:11,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {9099#true} assume !(main_~length1~0#1 < 1); {9099#true} is VALID [2022-02-20 23:41:11,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {9099#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {9099#true} is VALID [2022-02-20 23:41:11,885 INFO L290 TraceCheckUtils]: 0: Hoare triple {9099#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9099#true} is VALID [2022-02-20 23:41:11,885 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 7 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:11,885 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1908145954] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:11,886 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:11,886 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 16, 15] total 40 [2022-02-20 23:41:11,886 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1034880494] [2022-02-20 23:41:11,886 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:11,886 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 38 [2022-02-20 23:41:11,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:11,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:11,947 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2022-02-20 23:41:11,947 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:11,949 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2022-02-20 23:41:11,949 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=144, Invalid=1416, Unknown=0, NotChecked=0, Total=1560 [2022-02-20 23:41:11,949 INFO L87 Difference]: Start difference. First operand 48 states and 50 transitions. Second operand has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:12,956 INFO L93 Difference]: Finished difference Result 70 states and 72 transitions. [2022-02-20 23:41:12,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-02-20 23:41:12,956 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 38 [2022-02-20 23:41:12,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:12,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 55 transitions. [2022-02-20 23:41:12,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 55 transitions. [2022-02-20 23:41:12,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 55 transitions. [2022-02-20 23:41:13,004 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:13,005 INFO L225 Difference]: With dead ends: 70 [2022-02-20 23:41:13,005 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 23:41:13,005 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 54 SyntacticMatches, 3 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 685 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=365, Invalid=2497, Unknown=0, NotChecked=0, Total=2862 [2022-02-20 23:41:13,006 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 101 mSDsluCounter, 290 mSDsCounter, 0 mSdLazyCounter, 346 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 423 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 346 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 56 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:13,006 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 307 Invalid, 423 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 346 Invalid, 0 Unknown, 56 Unchecked, 0.3s Time] [2022-02-20 23:41:13,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 23:41:13,007 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2022-02-20 23:41:13,007 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:13,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 52 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,007 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 52 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,007 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 52 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:13,008 INFO L93 Difference]: Finished difference Result 55 states and 57 transitions. [2022-02-20 23:41:13,008 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 57 transitions. [2022-02-20 23:41:13,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:13,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:13,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:41:13,008 INFO L87 Difference]: Start difference. First operand has 52 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:41:13,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:13,009 INFO L93 Difference]: Finished difference Result 55 states and 57 transitions. [2022-02-20 23:41:13,009 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 57 transitions. [2022-02-20 23:41:13,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:13,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:13,009 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:13,009 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:13,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 54 transitions. [2022-02-20 23:41:13,009 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 54 transitions. Word has length 38 [2022-02-20 23:41:13,009 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:13,009 INFO L470 AbstractCegarLoop]: Abstraction has 52 states and 54 transitions. [2022-02-20 23:41:13,010 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 40 states, 40 states have (on average 2.075) internal successors, (83), 40 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,010 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 54 transitions. [2022-02-20 23:41:13,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 23:41:13,010 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:13,010 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:13,039 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:13,210 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:13,211 INFO L402 AbstractCegarLoop]: === Iteration 31 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:13,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:13,211 INFO L85 PathProgramCache]: Analyzing trace with hash 2039282674, now seen corresponding path program 3 times [2022-02-20 23:41:13,211 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:13,211 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2005572505] [2022-02-20 23:41:13,211 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:13,211 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:13,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:13,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {9625#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9625#true} is VALID [2022-02-20 23:41:13,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {9625#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {9625#true} is VALID [2022-02-20 23:41:13,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {9625#true} assume !(main_~length1~0#1 < 1); {9625#true} is VALID [2022-02-20 23:41:13,369 INFO L290 TraceCheckUtils]: 3: Hoare triple {9625#true} assume !(main_~length2~0#1 < 1); {9625#true} is VALID [2022-02-20 23:41:13,370 INFO L290 TraceCheckUtils]: 4: Hoare triple {9625#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,372 INFO L290 TraceCheckUtils]: 10: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,373 INFO L290 TraceCheckUtils]: 12: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,374 INFO L290 TraceCheckUtils]: 14: Hoare triple {9627#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,374 INFO L290 TraceCheckUtils]: 16: Hoare triple {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,375 INFO L290 TraceCheckUtils]: 17: Hoare triple {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,375 INFO L290 TraceCheckUtils]: 18: Hoare triple {9628#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9629#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {9629#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,377 INFO L290 TraceCheckUtils]: 21: Hoare triple {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,377 INFO L290 TraceCheckUtils]: 22: Hoare triple {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,377 INFO L290 TraceCheckUtils]: 23: Hoare triple {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {9630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {9631#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:13,379 INFO L290 TraceCheckUtils]: 26: Hoare triple {9631#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {9632#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:13,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {9632#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9632#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:13,380 INFO L290 TraceCheckUtils]: 28: Hoare triple {9632#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9633#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {9633#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,381 INFO L290 TraceCheckUtils]: 30: Hoare triple {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,381 INFO L290 TraceCheckUtils]: 31: Hoare triple {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {9634#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,405 INFO L290 TraceCheckUtils]: 35: Hoare triple {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,405 INFO L290 TraceCheckUtils]: 36: Hoare triple {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,406 INFO L290 TraceCheckUtils]: 37: Hoare triple {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,408 INFO L290 TraceCheckUtils]: 38: Hoare triple {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,408 INFO L290 TraceCheckUtils]: 39: Hoare triple {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,409 INFO L290 TraceCheckUtils]: 40: Hoare triple {9635#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9636#(and (<= 2 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} is VALID [2022-02-20 23:41:13,409 INFO L290 TraceCheckUtils]: 41: Hoare triple {9636#(and (<= 2 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {9626#false} is VALID [2022-02-20 23:41:13,410 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:13,410 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:13,410 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2005572505] [2022-02-20 23:41:13,410 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2005572505] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:13,410 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [369086331] [2022-02-20 23:41:13,410 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:41:13,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:13,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:13,423 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:13,454 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 23:41:13,537 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 23:41:13,538 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:13,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 31 conjunts are in the unsatisfiable core [2022-02-20 23:41:13,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:13,553 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:13,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {9625#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9625#true} is VALID [2022-02-20 23:41:13,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {9625#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {9625#true} is VALID [2022-02-20 23:41:13,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {9625#true} assume !(main_~length1~0#1 < 1); {9625#true} is VALID [2022-02-20 23:41:13,859 INFO L290 TraceCheckUtils]: 3: Hoare triple {9625#true} assume !(main_~length2~0#1 < 1); {9625#true} is VALID [2022-02-20 23:41:13,859 INFO L290 TraceCheckUtils]: 4: Hoare triple {9625#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {9625#true} is VALID [2022-02-20 23:41:13,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {9625#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 6: Hoare triple {9625#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {9625#true} havoc main_#t~nondet15#1; {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {9625#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {9625#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 10: Hoare triple {9625#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {9625#true} havoc main_#t~nondet15#1; {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 12: Hoare triple {9625#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9625#true} is VALID [2022-02-20 23:41:13,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {9625#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9625#true} is VALID [2022-02-20 23:41:13,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {9625#true} main_~i~1#1 := 0; {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:13,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:13,861 INFO L290 TraceCheckUtils]: 16: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:13,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:13,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9695#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:13,862 INFO L290 TraceCheckUtils]: 19: Hoare triple {9695#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:13,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:13,863 INFO L290 TraceCheckUtils]: 21: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:13,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:13,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:13,863 INFO L290 TraceCheckUtils]: 24: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:13,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {9718#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} is VALID [2022-02-20 23:41:13,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {9718#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {9722#(< (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {9722#(< (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9722#(< (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,865 INFO L290 TraceCheckUtils]: 28: Hoare triple {9722#(< (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,866 INFO L290 TraceCheckUtils]: 30: Hoare triple {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,866 INFO L290 TraceCheckUtils]: 31: Hoare triple {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,866 INFO L290 TraceCheckUtils]: 32: Hoare triple {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,867 INFO L290 TraceCheckUtils]: 33: Hoare triple {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:13,867 INFO L290 TraceCheckUtils]: 34: Hoare triple {9729#(< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9748#(and (< (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,868 INFO L290 TraceCheckUtils]: 35: Hoare triple {9748#(and (< (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,868 INFO L290 TraceCheckUtils]: 36: Hoare triple {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,868 INFO L290 TraceCheckUtils]: 37: Hoare triple {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,869 INFO L290 TraceCheckUtils]: 39: Hoare triple {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:13,869 INFO L290 TraceCheckUtils]: 40: Hoare triple {9752#(and (< |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9768#(and (< |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:41:13,870 INFO L290 TraceCheckUtils]: 41: Hoare triple {9768#(and (< |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {9626#false} is VALID [2022-02-20 23:41:13,870 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 1 proven. 17 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:13,870 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:14,181 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 7 treesize of output 5 [2022-02-20 23:41:14,233 INFO L290 TraceCheckUtils]: 41: Hoare triple {9772#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {9626#false} is VALID [2022-02-20 23:41:14,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9772#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:41:14,234 INFO L290 TraceCheckUtils]: 39: Hoare triple {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:14,234 INFO L290 TraceCheckUtils]: 38: Hoare triple {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:14,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:14,235 INFO L290 TraceCheckUtils]: 36: Hoare triple {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:14,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {9792#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9776#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:14,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9792#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} is VALID [2022-02-20 23:41:14,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:14,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:14,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:14,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:14,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:14,239 INFO L290 TraceCheckUtils]: 28: Hoare triple {9815#(or (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {9796#(or (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:14,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {9815#(or (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {9815#(or (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) 0))} is VALID [2022-02-20 23:41:14,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {9822#(or (< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {9815#(or (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (< (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) 0))} is VALID [2022-02-20 23:41:14,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {9822#(or (< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:14,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:14,241 INFO L290 TraceCheckUtils]: 23: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:14,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:14,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:14,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:14,242 INFO L290 TraceCheckUtils]: 19: Hoare triple {9695#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9699#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:14,242 INFO L290 TraceCheckUtils]: 18: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9695#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:14,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:14,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:14,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:14,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {9625#true} main_~i~1#1 := 0; {9682#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {9625#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {9625#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {9625#true} havoc main_#t~nondet15#1; {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 10: Hoare triple {9625#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {9625#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {9625#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {9625#true} havoc main_#t~nondet15#1; {9625#true} is VALID [2022-02-20 23:41:14,244 INFO L290 TraceCheckUtils]: 6: Hoare triple {9625#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {9625#true} is VALID [2022-02-20 23:41:14,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {9625#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {9625#true} is VALID [2022-02-20 23:41:14,245 INFO L290 TraceCheckUtils]: 4: Hoare triple {9625#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {9625#true} is VALID [2022-02-20 23:41:14,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {9625#true} assume !(main_~length2~0#1 < 1); {9625#true} is VALID [2022-02-20 23:41:14,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {9625#true} assume !(main_~length1~0#1 < 1); {9625#true} is VALID [2022-02-20 23:41:14,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {9625#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {9625#true} is VALID [2022-02-20 23:41:14,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {9625#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9625#true} is VALID [2022-02-20 23:41:14,246 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 1 proven. 17 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:14,246 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [369086331] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:14,246 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:14,246 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 26 [2022-02-20 23:41:14,246 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1480828260] [2022-02-20 23:41:14,246 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:14,247 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 23:41:14,247 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:14,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,290 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:14,291 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-02-20 23:41:14,291 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:14,291 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-02-20 23:41:14,291 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=605, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:41:14,292 INFO L87 Difference]: Start difference. First operand 52 states and 54 transitions. Second operand has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:14,779 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:41:14,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:41:14,779 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 23:41:14,780 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:14,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 54 transitions. [2022-02-20 23:41:14,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 54 transitions. [2022-02-20 23:41:14,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 54 transitions. [2022-02-20 23:41:14,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:14,809 INFO L225 Difference]: With dead ends: 55 [2022-02-20 23:41:14,809 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 23:41:14,809 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 234 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=234, Invalid=956, Unknown=0, NotChecked=0, Total=1190 [2022-02-20 23:41:14,810 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 171 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 233 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 171 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 264 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 233 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:14,810 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [171 Valid, 142 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 233 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:14,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 23:41:14,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2022-02-20 23:41:14,811 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:14,811 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 54 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,811 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 54 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,811 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 54 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:14,812 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:41:14,812 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-02-20 23:41:14,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:14,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:14,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:41:14,813 INFO L87 Difference]: Start difference. First operand has 54 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:41:14,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:14,814 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:41:14,814 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-02-20 23:41:14,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:14,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:14,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:14,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:14,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 56 transitions. [2022-02-20 23:41:14,814 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 56 transitions. Word has length 42 [2022-02-20 23:41:14,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:14,815 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 56 transitions. [2022-02-20 23:41:14,815 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 26 states have (on average 3.423076923076923) internal successors, (89), 27 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,815 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 56 transitions. [2022-02-20 23:41:14,815 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 23:41:14,815 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:14,815 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:14,834 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:15,016 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable30 [2022-02-20 23:41:15,016 INFO L402 AbstractCegarLoop]: === Iteration 32 === Targeting ULTIMATE.startErr17REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:15,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:15,016 INFO L85 PathProgramCache]: Analyzing trace with hash -1309731743, now seen corresponding path program 2 times [2022-02-20 23:41:15,016 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:15,016 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875457959] [2022-02-20 23:41:15,016 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:15,017 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:15,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {10135#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10135#true} is VALID [2022-02-20 23:41:15,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {10135#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {10135#true} is VALID [2022-02-20 23:41:15,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {10135#true} assume !(main_~length1~0#1 < 1); {10135#true} is VALID [2022-02-20 23:41:15,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {10135#true} assume !(main_~length2~0#1 < 1); {10135#true} is VALID [2022-02-20 23:41:15,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {10135#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,181 INFO L290 TraceCheckUtils]: 6: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,183 INFO L290 TraceCheckUtils]: 10: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,183 INFO L290 TraceCheckUtils]: 12: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {10137#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,185 INFO L290 TraceCheckUtils]: 16: Hoare triple {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {10138#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10139#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,186 INFO L290 TraceCheckUtils]: 19: Hoare triple {10139#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,187 INFO L290 TraceCheckUtils]: 21: Hoare triple {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,187 INFO L290 TraceCheckUtils]: 22: Hoare triple {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,187 INFO L290 TraceCheckUtils]: 23: Hoare triple {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,188 INFO L290 TraceCheckUtils]: 24: Hoare triple {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {10140#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {10141#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:15,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {10141#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {10142#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:15,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {10142#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10142#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:15,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {10142#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10143#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,190 INFO L290 TraceCheckUtils]: 29: Hoare triple {10143#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,190 INFO L290 TraceCheckUtils]: 30: Hoare triple {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,191 INFO L290 TraceCheckUtils]: 32: Hoare triple {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,191 INFO L290 TraceCheckUtils]: 33: Hoare triple {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,192 INFO L290 TraceCheckUtils]: 34: Hoare triple {10144#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,192 INFO L290 TraceCheckUtils]: 35: Hoare triple {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,193 INFO L290 TraceCheckUtils]: 37: Hoare triple {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,193 INFO L290 TraceCheckUtils]: 38: Hoare triple {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,193 INFO L290 TraceCheckUtils]: 39: Hoare triple {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,194 INFO L290 TraceCheckUtils]: 40: Hoare triple {10145#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,194 INFO L290 TraceCheckUtils]: 41: Hoare triple {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,194 INFO L290 TraceCheckUtils]: 42: Hoare triple {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,195 INFO L290 TraceCheckUtils]: 44: Hoare triple {10146#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {10147#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} is VALID [2022-02-20 23:41:15,196 INFO L290 TraceCheckUtils]: 45: Hoare triple {10147#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} assume !(1 + cstrcmp_#t~pre7#1.offset <= #length[cstrcmp_#t~pre7#1.base] && 0 <= cstrcmp_#t~pre7#1.offset); {10136#false} is VALID [2022-02-20 23:41:15,196 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:15,196 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:15,196 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1875457959] [2022-02-20 23:41:15,196 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1875457959] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:15,196 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1232694056] [2022-02-20 23:41:15,196 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:41:15,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:15,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:15,198 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:15,198 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 23:41:15,273 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 23:41:15,273 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:15,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:41:15,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,282 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:15,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {10135#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10135#true} is VALID [2022-02-20 23:41:15,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {10135#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {10135#true} is VALID [2022-02-20 23:41:15,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {10135#true} assume !(main_~length1~0#1 < 1); {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 3: Hoare triple {10135#true} assume !(main_~length2~0#1 < 1); {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 4: Hoare triple {10135#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {10135#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 6: Hoare triple {10135#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {10135#true} havoc main_#t~nondet15#1; {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {10135#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 9: Hoare triple {10135#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 10: Hoare triple {10135#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {10135#true} havoc main_#t~nondet15#1; {10135#true} is VALID [2022-02-20 23:41:15,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {10135#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {10135#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {10135#true} main_~i~1#1 := 0; {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 15: Hoare triple {10135#true} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {10135#true} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 17: Hoare triple {10135#true} havoc main_#t~nondet17#1; {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 18: Hoare triple {10135#true} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {10135#true} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {10135#true} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10135#true} is VALID [2022-02-20 23:41:15,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {10135#true} havoc main_#t~nondet17#1; {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 22: Hoare triple {10135#true} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 23: Hoare triple {10135#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {10135#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {10135#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {10135#true} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 28: Hoare triple {10135#true} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {10135#true} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10135#true} is VALID [2022-02-20 23:41:15,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10135#true} is VALID [2022-02-20 23:41:15,393 INFO L290 TraceCheckUtils]: 32: Hoare triple {10135#true} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10135#true} is VALID [2022-02-20 23:41:15,393 INFO L290 TraceCheckUtils]: 33: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10135#true} is VALID [2022-02-20 23:41:15,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {10135#true} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10135#true} is VALID [2022-02-20 23:41:15,393 INFO L290 TraceCheckUtils]: 35: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10135#true} is VALID [2022-02-20 23:41:15,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {10135#true} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10135#true} is VALID [2022-02-20 23:41:15,397 INFO L290 TraceCheckUtils]: 37: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10135#true} is VALID [2022-02-20 23:41:15,397 INFO L290 TraceCheckUtils]: 38: Hoare triple {10135#true} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10135#true} is VALID [2022-02-20 23:41:15,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {10135#true} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10135#true} is VALID [2022-02-20 23:41:15,398 INFO L290 TraceCheckUtils]: 40: Hoare triple {10135#true} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10271#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~post2#1.base| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:15,398 INFO L290 TraceCheckUtils]: 41: Hoare triple {10271#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~post2#1.base| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10275#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,398 INFO L290 TraceCheckUtils]: 42: Hoare triple {10275#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1; {10275#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,399 INFO L290 TraceCheckUtils]: 43: Hoare triple {10275#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem8#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-6 {10275#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:15,399 INFO L290 TraceCheckUtils]: 44: Hoare triple {10275#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset - 1; {10285#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} is VALID [2022-02-20 23:41:15,400 INFO L290 TraceCheckUtils]: 45: Hoare triple {10285#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~pre7#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~pre7#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~pre7#1.offset|))} assume !(1 + cstrcmp_#t~pre7#1.offset <= #length[cstrcmp_#t~pre7#1.base] && 0 <= cstrcmp_#t~pre7#1.offset); {10136#false} is VALID [2022-02-20 23:41:15,400 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-02-20 23:41:15,401 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:15,401 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1232694056] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:15,401 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:41:15,401 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [12] total 15 [2022-02-20 23:41:15,401 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1819533693] [2022-02-20 23:41:15,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:15,402 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 46 [2022-02-20 23:41:15,403 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:15,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:15,417 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:15,417 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:15,418 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:15,418 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:41:15,419 INFO L87 Difference]: Start difference. First operand 54 states and 56 transitions. Second operand has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:15,487 INFO L93 Difference]: Finished difference Result 53 states and 55 transitions. [2022-02-20 23:41:15,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:41:15,503 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 46 [2022-02-20 23:41:15,503 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:15,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 33 transitions. [2022-02-20 23:41:15,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 33 transitions. [2022-02-20 23:41:15,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 33 transitions. [2022-02-20 23:41:15,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:15,520 INFO L225 Difference]: With dead ends: 53 [2022-02-20 23:41:15,520 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 23:41:15,522 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=229, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:41:15,522 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 7 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:15,522 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 74 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:15,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 23:41:15,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-02-20 23:41:15,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:15,525 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 49 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,525 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 49 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,525 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 49 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:15,526 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-02-20 23:41:15,526 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-02-20 23:41:15,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:15,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:15,526 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 49 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 23:41:15,527 INFO L87 Difference]: Start difference. First operand has 50 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 49 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 23:41:15,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:15,527 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-02-20 23:41:15,527 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-02-20 23:41:15,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:15,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:15,528 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:15,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:15,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 49 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-02-20 23:41:15,544 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 46 [2022-02-20 23:41:15,544 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:15,544 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-02-20 23:41:15,545 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 7.75) internal successors, (31), 5 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,545 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-02-20 23:41:15,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 23:41:15,545 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:15,545 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:15,565 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-02-20 23:41:15,763 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable31 [2022-02-20 23:41:15,763 INFO L402 AbstractCegarLoop]: === Iteration 33 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:15,763 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:15,763 INFO L85 PathProgramCache]: Analyzing trace with hash -1309682976, now seen corresponding path program 3 times [2022-02-20 23:41:15,764 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:15,764 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986964967] [2022-02-20 23:41:15,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:15,764 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:15,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {10493#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10493#true} is VALID [2022-02-20 23:41:15,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {10493#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {10493#true} is VALID [2022-02-20 23:41:15,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {10493#true} assume !(main_~length1~0#1 < 1); {10493#true} is VALID [2022-02-20 23:41:15,938 INFO L290 TraceCheckUtils]: 3: Hoare triple {10493#true} assume !(main_~length2~0#1 < 1); {10493#true} is VALID [2022-02-20 23:41:15,938 INFO L290 TraceCheckUtils]: 4: Hoare triple {10493#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {10495#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10496#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:15,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {10496#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10497#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:15,941 INFO L290 TraceCheckUtils]: 10: Hoare triple {10497#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10497#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:15,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {10497#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet15#1; {10497#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:15,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {10497#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10498#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {10498#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} main_~i~1#1 := 0; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} havoc main_#t~nondet17#1; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,944 INFO L290 TraceCheckUtils]: 19: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,944 INFO L290 TraceCheckUtils]: 21: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} havoc main_#t~nondet17#1; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:15,946 INFO L290 TraceCheckUtils]: 24: Hoare triple {10499#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {10500#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {10500#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {10500#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:15,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {10500#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:15,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:15,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:15,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:15,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {10501#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) 2) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:15,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:15,948 INFO L290 TraceCheckUtils]: 32: Hoare triple {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:15,949 INFO L290 TraceCheckUtils]: 33: Hoare triple {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:15,949 INFO L290 TraceCheckUtils]: 34: Hoare triple {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:15,949 INFO L290 TraceCheckUtils]: 35: Hoare triple {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:15,949 INFO L290 TraceCheckUtils]: 36: Hoare triple {10502#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:15,950 INFO L290 TraceCheckUtils]: 37: Hoare triple {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:15,950 INFO L290 TraceCheckUtils]: 38: Hoare triple {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:15,950 INFO L290 TraceCheckUtils]: 39: Hoare triple {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:15,950 INFO L290 TraceCheckUtils]: 40: Hoare triple {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:15,950 INFO L290 TraceCheckUtils]: 41: Hoare triple {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} is VALID [2022-02-20 23:41:15,951 INFO L290 TraceCheckUtils]: 42: Hoare triple {10503#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10504#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:15,951 INFO L290 TraceCheckUtils]: 43: Hoare triple {10504#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10505#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:15,951 INFO L290 TraceCheckUtils]: 44: Hoare triple {10505#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10494#false} is VALID [2022-02-20 23:41:15,951 INFO L290 TraceCheckUtils]: 45: Hoare triple {10494#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {10494#false} is VALID [2022-02-20 23:41:15,952 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 3 proven. 24 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:15,952 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:15,952 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986964967] [2022-02-20 23:41:15,952 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1986964967] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:15,952 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1100039027] [2022-02-20 23:41:15,952 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:41:15,952 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:15,952 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:15,953 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:15,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-02-20 23:41:16,050 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:41:16,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:16,051 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 84 conjunts are in the unsatisfiable core [2022-02-20 23:41:16,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:16,063 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:16,279 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 14 treesize of output 10 [2022-02-20 23:41:17,767 INFO L356 Elim1Store]: treesize reduction 36, result has 7.7 percent of original size [2022-02-20 23:41:17,768 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 29 treesize of output 13 [2022-02-20 23:41:17,779 INFO L290 TraceCheckUtils]: 0: Hoare triple {10493#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10493#true} is VALID [2022-02-20 23:41:17,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {10493#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {10493#true} is VALID [2022-02-20 23:41:17,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {10493#true} assume !(main_~length1~0#1 < 1); {10493#true} is VALID [2022-02-20 23:41:17,780 INFO L290 TraceCheckUtils]: 3: Hoare triple {10493#true} assume !(main_~length2~0#1 < 1); {10493#true} is VALID [2022-02-20 23:41:17,781 INFO L290 TraceCheckUtils]: 4: Hoare triple {10493#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,781 INFO L290 TraceCheckUtils]: 5: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,781 INFO L290 TraceCheckUtils]: 6: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} havoc main_#t~nondet15#1; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,782 INFO L290 TraceCheckUtils]: 10: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,782 INFO L290 TraceCheckUtils]: 11: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} havoc main_#t~nondet15#1; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} is VALID [2022-02-20 23:41:17,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {10521#(= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)} main_~i~1#1 := 0; {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:17,784 INFO L290 TraceCheckUtils]: 15: Hoare triple {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:17,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:17,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:17,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {10552#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10565#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} is VALID [2022-02-20 23:41:17,785 INFO L290 TraceCheckUtils]: 19: Hoare triple {10565#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10569#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:17,785 INFO L290 TraceCheckUtils]: 20: Hoare triple {10569#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10569#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:17,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {10569#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {10569#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:17,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {10569#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10579#(and (<= |ULTIMATE.start_main_~i~1#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:17,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {10579#(and (<= |ULTIMATE.start_main_~i~1#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10583#(and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:17,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {10583#(and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {10583#(and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:17,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {10583#(and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {10590#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:17,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {10590#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {10594#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:17,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {10594#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10594#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:17,790 INFO L290 TraceCheckUtils]: 28: Hoare triple {10594#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10601#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:17,791 INFO L290 TraceCheckUtils]: 29: Hoare triple {10601#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10601#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:17,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {10601#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:17,792 INFO L290 TraceCheckUtils]: 31: Hoare triple {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:17,793 INFO L290 TraceCheckUtils]: 32: Hoare triple {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:17,794 INFO L290 TraceCheckUtils]: 33: Hoare triple {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:17,795 INFO L290 TraceCheckUtils]: 34: Hoare triple {10608#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10621#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:17,795 INFO L290 TraceCheckUtils]: 35: Hoare triple {10621#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10621#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:17,796 INFO L290 TraceCheckUtils]: 36: Hoare triple {10621#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10628#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:17,797 INFO L290 TraceCheckUtils]: 37: Hoare triple {10628#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10628#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:17,798 INFO L290 TraceCheckUtils]: 38: Hoare triple {10628#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10628#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:17,798 INFO L290 TraceCheckUtils]: 39: Hoare triple {10628#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10638#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:17,799 INFO L290 TraceCheckUtils]: 40: Hoare triple {10638#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10642#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (- 3))) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:17,800 INFO L290 TraceCheckUtils]: 41: Hoare triple {10642#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (- 3))) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10646#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (- 3))) 0) (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:17,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {10646#(and (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (- 3))) 0) (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10650#(and (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (- 3))) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 2))} is VALID [2022-02-20 23:41:17,802 INFO L290 TraceCheckUtils]: 43: Hoare triple {10650#(and (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (- 3))) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 2))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10505#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:17,802 INFO L290 TraceCheckUtils]: 44: Hoare triple {10505#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10494#false} is VALID [2022-02-20 23:41:17,802 INFO L290 TraceCheckUtils]: 45: Hoare triple {10494#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {10494#false} is VALID [2022-02-20 23:41:17,802 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 3 proven. 24 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:17,803 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:18,135 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:18,135 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 103 treesize of output 103 [2022-02-20 23:41:18,227 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 40 treesize of output 36 [2022-02-20 23:41:18,249 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:18,249 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 60 treesize of output 56 [2022-02-20 23:41:18,548 INFO L290 TraceCheckUtils]: 45: Hoare triple {10494#false} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {10494#false} is VALID [2022-02-20 23:41:18,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {10505#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10494#false} is VALID [2022-02-20 23:41:18,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {10504#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10505#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:18,550 INFO L290 TraceCheckUtils]: 42: Hoare triple {10669#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10504#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:18,550 INFO L290 TraceCheckUtils]: 41: Hoare triple {10673#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10669#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:18,551 INFO L290 TraceCheckUtils]: 40: Hoare triple {10677#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10673#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:18,551 INFO L290 TraceCheckUtils]: 39: Hoare triple {10681#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10677#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:18,552 INFO L290 TraceCheckUtils]: 38: Hoare triple {10681#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10681#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:18,552 INFO L290 TraceCheckUtils]: 37: Hoare triple {10681#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10681#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:18,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {10691#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10681#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:18,553 INFO L290 TraceCheckUtils]: 35: Hoare triple {10691#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10691#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:18,554 INFO L290 TraceCheckUtils]: 34: Hoare triple {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10691#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:18,554 INFO L290 TraceCheckUtils]: 33: Hoare triple {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:18,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:18,555 INFO L290 TraceCheckUtils]: 31: Hoare triple {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:18,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {10711#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {10698#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:18,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {10711#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {10711#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:18,557 INFO L290 TraceCheckUtils]: 28: Hoare triple {10718#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {10711#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:18,557 INFO L290 TraceCheckUtils]: 27: Hoare triple {10718#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {10718#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:18,558 INFO L290 TraceCheckUtils]: 26: Hoare triple {10725#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {10718#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:18,559 INFO L290 TraceCheckUtils]: 25: Hoare triple {10729#(= |ULTIMATE.start_main_~length2~0#1| 3)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {10725#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0))} is VALID [2022-02-20 23:41:18,559 INFO L290 TraceCheckUtils]: 24: Hoare triple {10729#(= |ULTIMATE.start_main_~length2~0#1| 3)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {10729#(= |ULTIMATE.start_main_~length2~0#1| 3)} is VALID [2022-02-20 23:41:18,559 INFO L290 TraceCheckUtils]: 23: Hoare triple {10736#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10729#(= |ULTIMATE.start_main_~length2~0#1| 3)} is VALID [2022-02-20 23:41:18,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {10740#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10736#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:18,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {10740#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {10740#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:18,561 INFO L290 TraceCheckUtils]: 20: Hoare triple {10740#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10740#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:18,561 INFO L290 TraceCheckUtils]: 19: Hoare triple {10750#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10740#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:18,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10750#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:41:18,562 INFO L290 TraceCheckUtils]: 17: Hoare triple {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet17#1; {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:18,562 INFO L290 TraceCheckUtils]: 16: Hoare triple {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:18,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:18,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {10493#true} main_~i~1#1 := 0; {10754#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:18,563 INFO L290 TraceCheckUtils]: 13: Hoare triple {10493#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10493#true} is VALID [2022-02-20 23:41:18,563 INFO L290 TraceCheckUtils]: 12: Hoare triple {10493#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10493#true} is VALID [2022-02-20 23:41:18,563 INFO L290 TraceCheckUtils]: 11: Hoare triple {10493#true} havoc main_#t~nondet15#1; {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 10: Hoare triple {10493#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {10493#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {10493#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {10493#true} havoc main_#t~nondet15#1; {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 6: Hoare triple {10493#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {10493#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {10493#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 3: Hoare triple {10493#true} assume !(main_~length2~0#1 < 1); {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {10493#true} assume !(main_~length1~0#1 < 1); {10493#true} is VALID [2022-02-20 23:41:18,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {10493#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {10493#true} is VALID [2022-02-20 23:41:18,565 INFO L290 TraceCheckUtils]: 0: Hoare triple {10493#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10493#true} is VALID [2022-02-20 23:41:18,565 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 3 proven. 24 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:41:18,565 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1100039027] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:18,565 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:18,565 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 19, 18] total 43 [2022-02-20 23:41:18,566 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239501616] [2022-02-20 23:41:18,566 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:18,567 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 46 [2022-02-20 23:41:18,567 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:18,567 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:18,670 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-02-20 23:41:18,671 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:18,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-02-20 23:41:18,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=1670, Unknown=0, NotChecked=0, Total=1806 [2022-02-20 23:41:18,671 INFO L87 Difference]: Start difference. First operand 50 states and 52 transitions. Second operand has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:20,065 INFO L93 Difference]: Finished difference Result 141 states and 146 transitions. [2022-02-20 23:41:20,065 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2022-02-20 23:41:20,065 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 46 [2022-02-20 23:41:20,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:20,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 132 transitions. [2022-02-20 23:41:20,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 132 transitions. [2022-02-20 23:41:20,070 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states and 132 transitions. [2022-02-20 23:41:20,180 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:20,180 INFO L225 Difference]: With dead ends: 141 [2022-02-20 23:41:20,180 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 23:41:20,181 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 742 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=372, Invalid=4050, Unknown=0, NotChecked=0, Total=4422 [2022-02-20 23:41:20,181 INFO L933 BasicCegarLoop]: 14 mSDtfsCounter, 91 mSDsluCounter, 321 mSDsCounter, 0 mSdLazyCounter, 399 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 335 SdHoareTripleChecker+Invalid, 560 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 399 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 130 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:20,182 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [91 Valid, 335 Invalid, 560 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 399 Invalid, 0 Unknown, 130 Unchecked, 0.3s Time] [2022-02-20 23:41:20,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 23:41:20,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 58. [2022-02-20 23:41:20,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:20,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 58 states, 56 states have (on average 1.0714285714285714) internal successors, (60), 57 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,183 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 58 states, 56 states have (on average 1.0714285714285714) internal successors, (60), 57 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,183 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 58 states, 56 states have (on average 1.0714285714285714) internal successors, (60), 57 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:20,183 INFO L93 Difference]: Finished difference Result 64 states and 66 transitions. [2022-02-20 23:41:20,183 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 66 transitions. [2022-02-20 23:41:20,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:20,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:20,183 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 56 states have (on average 1.0714285714285714) internal successors, (60), 57 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 64 states. [2022-02-20 23:41:20,185 INFO L87 Difference]: Start difference. First operand has 58 states, 56 states have (on average 1.0714285714285714) internal successors, (60), 57 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 64 states. [2022-02-20 23:41:20,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:20,185 INFO L93 Difference]: Finished difference Result 64 states and 66 transitions. [2022-02-20 23:41:20,185 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 66 transitions. [2022-02-20 23:41:20,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:20,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:20,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:20,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:20,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 56 states have (on average 1.0714285714285714) internal successors, (60), 57 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 60 transitions. [2022-02-20 23:41:20,186 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 60 transitions. Word has length 46 [2022-02-20 23:41:20,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:20,186 INFO L470 AbstractCegarLoop]: Abstraction has 58 states and 60 transitions. [2022-02-20 23:41:20,186 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 43 states have (on average 2.627906976744186) internal successors, (113), 43 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:20,186 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 60 transitions. [2022-02-20 23:41:20,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-02-20 23:41:20,186 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:20,186 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:20,203 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-02-20 23:41:20,395 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable32 [2022-02-20 23:41:20,395 INFO L402 AbstractCegarLoop]: === Iteration 34 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:20,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:20,396 INFO L85 PathProgramCache]: Analyzing trace with hash -1724661286, now seen corresponding path program 4 times [2022-02-20 23:41:20,396 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:20,396 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1519254837] [2022-02-20 23:41:20,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:20,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:20,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:20,542 INFO L290 TraceCheckUtils]: 0: Hoare triple {11186#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11186#true} is VALID [2022-02-20 23:41:20,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {11186#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {11186#true} is VALID [2022-02-20 23:41:20,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {11186#true} assume !(main_~length1~0#1 < 1); {11186#true} is VALID [2022-02-20 23:41:20,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {11186#true} assume !(main_~length2~0#1 < 1); {11186#true} is VALID [2022-02-20 23:41:20,543 INFO L290 TraceCheckUtils]: 4: Hoare triple {11186#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,544 INFO L290 TraceCheckUtils]: 6: Hoare triple {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,544 INFO L290 TraceCheckUtils]: 7: Hoare triple {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {11188#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,545 INFO L290 TraceCheckUtils]: 10: Hoare triple {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,546 INFO L290 TraceCheckUtils]: 12: Hoare triple {11189#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11190#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:20,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {11190#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet15#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,548 INFO L290 TraceCheckUtils]: 16: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,548 INFO L290 TraceCheckUtils]: 17: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,548 INFO L290 TraceCheckUtils]: 18: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} main_~i~1#1 := 0; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,550 INFO L290 TraceCheckUtils]: 21: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet17#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,550 INFO L290 TraceCheckUtils]: 22: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,550 INFO L290 TraceCheckUtils]: 23: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet17#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet17#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:20,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {11191#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {11192#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {11192#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {11192#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:20,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {11192#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:20,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:20,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:20,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:20,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {11193#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11194#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,557 INFO L290 TraceCheckUtils]: 39: Hoare triple {11194#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,559 INFO L290 TraceCheckUtils]: 42: Hoare triple {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,559 INFO L290 TraceCheckUtils]: 43: Hoare triple {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {11195#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:20,560 INFO L290 TraceCheckUtils]: 45: Hoare triple {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:20,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:20,561 INFO L290 TraceCheckUtils]: 47: Hoare triple {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:20,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:20,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:20,562 INFO L290 TraceCheckUtils]: 50: Hoare triple {11196#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,563 INFO L290 TraceCheckUtils]: 51: Hoare triple {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:20,564 INFO L290 TraceCheckUtils]: 53: Hoare triple {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {11187#false} is VALID [2022-02-20 23:41:20,564 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 1 proven. 35 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:20,564 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:20,564 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1519254837] [2022-02-20 23:41:20,564 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1519254837] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:20,565 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [344930391] [2022-02-20 23:41:20,565 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:41:20,565 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:20,565 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:20,588 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:20,589 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-02-20 23:41:20,681 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:41:20,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:20,683 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 54 conjunts are in the unsatisfiable core [2022-02-20 23:41:20,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:20,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:20,725 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-02-20 23:41:20,731 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:41:21,208 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2022-02-20 23:41:21,347 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 21 [2022-02-20 23:41:22,832 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:22,833 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 22 treesize of output 22 [2022-02-20 23:41:22,969 INFO L290 TraceCheckUtils]: 0: Hoare triple {11186#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11186#true} is VALID [2022-02-20 23:41:22,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {11186#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {11186#true} is VALID [2022-02-20 23:41:22,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {11186#true} assume !(main_~length1~0#1 < 1); {11186#true} is VALID [2022-02-20 23:41:22,970 INFO L290 TraceCheckUtils]: 3: Hoare triple {11186#true} assume !(main_~length2~0#1 < 1); {11186#true} is VALID [2022-02-20 23:41:22,971 INFO L290 TraceCheckUtils]: 4: Hoare triple {11186#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {11213#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,971 INFO L290 TraceCheckUtils]: 5: Hoare triple {11213#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11213#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,972 INFO L290 TraceCheckUtils]: 6: Hoare triple {11213#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,974 INFO L290 TraceCheckUtils]: 10: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,974 INFO L290 TraceCheckUtils]: 12: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,976 INFO L290 TraceCheckUtils]: 16: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,977 INFO L290 TraceCheckUtils]: 18: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,978 INFO L290 TraceCheckUtils]: 19: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,978 INFO L290 TraceCheckUtils]: 20: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,979 INFO L290 TraceCheckUtils]: 22: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,979 INFO L290 TraceCheckUtils]: 23: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,981 INFO L290 TraceCheckUtils]: 26: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,981 INFO L290 TraceCheckUtils]: 27: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,982 INFO L290 TraceCheckUtils]: 28: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,982 INFO L290 TraceCheckUtils]: 29: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,983 INFO L290 TraceCheckUtils]: 31: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:22,984 INFO L290 TraceCheckUtils]: 32: Hoare triple {11220#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {11299#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:22,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {11299#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {11303#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:41:22,986 INFO L290 TraceCheckUtils]: 34: Hoare triple {11303#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:41:22,986 INFO L290 TraceCheckUtils]: 35: Hoare triple {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:41:22,987 INFO L290 TraceCheckUtils]: 36: Hoare triple {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:41:22,988 INFO L290 TraceCheckUtils]: 37: Hoare triple {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:41:22,988 INFO L290 TraceCheckUtils]: 38: Hoare triple {11307#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11320#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:22,999 INFO L290 TraceCheckUtils]: 39: Hoare triple {11320#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,000 INFO L290 TraceCheckUtils]: 40: Hoare triple {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,001 INFO L290 TraceCheckUtils]: 41: Hoare triple {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,001 INFO L290 TraceCheckUtils]: 42: Hoare triple {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,002 INFO L290 TraceCheckUtils]: 43: Hoare triple {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,003 INFO L290 TraceCheckUtils]: 44: Hoare triple {11324#(and (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11340#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,004 INFO L290 TraceCheckUtils]: 45: Hoare triple {11340#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11340#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,004 INFO L290 TraceCheckUtils]: 46: Hoare triple {11340#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11340#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,005 INFO L290 TraceCheckUtils]: 47: Hoare triple {11340#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11350#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,006 INFO L290 TraceCheckUtils]: 48: Hoare triple {11350#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11350#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,007 INFO L290 TraceCheckUtils]: 49: Hoare triple {11350#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11350#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} is VALID [2022-02-20 23:41:23,008 INFO L290 TraceCheckUtils]: 50: Hoare triple {11350#(and (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11360#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))) (<= 2 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.base| |ULTIMATE.start_cstrcmp_#t~post5#1.base|))} is VALID [2022-02-20 23:41:23,008 INFO L290 TraceCheckUtils]: 51: Hoare triple {11360#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|))) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))) (<= 2 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post5#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.base| |ULTIMATE.start_cstrcmp_#t~post5#1.base|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11364#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:23,009 INFO L290 TraceCheckUtils]: 52: Hoare triple {11364#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (or (< |ULTIMATE.start_cstrcmp_~s1#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)) (<= |ULTIMATE.start_cstrcmp_~s1#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:23,009 INFO L290 TraceCheckUtils]: 53: Hoare triple {11197#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {11187#false} is VALID [2022-02-20 23:41:23,010 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 15 proven. 11 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:41:23,010 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:24,158 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:24,158 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 24 [2022-02-20 23:41:24,184 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:24,184 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 37 treesize of output 37 [2022-02-20 23:41:24,222 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 11 treesize of output 7 [2022-02-20 23:41:25,165 INFO L290 TraceCheckUtils]: 53: Hoare triple {11371#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} assume !(1 + cstrcmp_~s1#1.offset <= #length[cstrcmp_~s1#1.base] && 0 <= cstrcmp_~s1#1.offset); {11187#false} is VALID [2022-02-20 23:41:25,166 INFO L290 TraceCheckUtils]: 52: Hoare triple {11375#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11371#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)))} is VALID [2022-02-20 23:41:25,166 INFO L290 TraceCheckUtils]: 51: Hoare triple {11379#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11375#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0))} is VALID [2022-02-20 23:41:25,167 INFO L290 TraceCheckUtils]: 50: Hoare triple {11383#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11379#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} is VALID [2022-02-20 23:41:25,168 INFO L290 TraceCheckUtils]: 49: Hoare triple {11383#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11383#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:25,168 INFO L290 TraceCheckUtils]: 48: Hoare triple {11383#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11383#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:25,169 INFO L290 TraceCheckUtils]: 47: Hoare triple {11393#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11383#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:25,169 INFO L290 TraceCheckUtils]: 46: Hoare triple {11393#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11393#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:25,170 INFO L290 TraceCheckUtils]: 45: Hoare triple {11393#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11393#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:25,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11393#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:25,171 INFO L290 TraceCheckUtils]: 43: Hoare triple {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} is VALID [2022-02-20 23:41:25,172 INFO L290 TraceCheckUtils]: 42: Hoare triple {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} is VALID [2022-02-20 23:41:25,172 INFO L290 TraceCheckUtils]: 41: Hoare triple {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} is VALID [2022-02-20 23:41:25,173 INFO L290 TraceCheckUtils]: 40: Hoare triple {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} is VALID [2022-02-20 23:41:25,173 INFO L290 TraceCheckUtils]: 39: Hoare triple {11419#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11403#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))))} is VALID [2022-02-20 23:41:25,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11419#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (<= (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (and (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} is VALID [2022-02-20 23:41:25,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} is VALID [2022-02-20 23:41:25,176 INFO L290 TraceCheckUtils]: 36: Hoare triple {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} is VALID [2022-02-20 23:41:25,176 INFO L290 TraceCheckUtils]: 35: Hoare triple {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} is VALID [2022-02-20 23:41:25,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {11436#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {11423#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|))))} is VALID [2022-02-20 23:41:25,178 INFO L290 TraceCheckUtils]: 33: Hoare triple {11440#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int) (v_ArrVal_552 (Array Int Int))) (or (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_552) |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {11436#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} is VALID [2022-02-20 23:41:25,179 INFO L290 TraceCheckUtils]: 32: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {11440#(forall ((|v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| Int) (v_ArrVal_552 (Array Int Int))) (or (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52| 4) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_552) |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) 0) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|)) (not (<= (+ 3 |v_ULTIMATE.start_cstrcmp_#t~post5#1.offset_52|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} is VALID [2022-02-20 23:41:25,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,180 INFO L290 TraceCheckUtils]: 30: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,181 INFO L290 TraceCheckUtils]: 29: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet17#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,183 INFO L290 TraceCheckUtils]: 26: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet17#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet17#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,187 INFO L290 TraceCheckUtils]: 20: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_~i~1#1 := 0; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,189 INFO L290 TraceCheckUtils]: 17: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,189 INFO L290 TraceCheckUtils]: 16: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,190 INFO L290 TraceCheckUtils]: 15: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet15#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet15#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,193 INFO L290 TraceCheckUtils]: 10: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet15#1; {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,196 INFO L290 TraceCheckUtils]: 6: Hoare triple {11523#(or (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))) (not (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11444#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:41:25,197 INFO L290 TraceCheckUtils]: 5: Hoare triple {11523#(or (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))) (not (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11523#(or (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))) (not (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))))} is VALID [2022-02-20 23:41:25,198 INFO L290 TraceCheckUtils]: 4: Hoare triple {11186#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {11523#(or (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))) (not (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))))} is VALID [2022-02-20 23:41:25,198 INFO L290 TraceCheckUtils]: 3: Hoare triple {11186#true} assume !(main_~length2~0#1 < 1); {11186#true} is VALID [2022-02-20 23:41:25,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {11186#true} assume !(main_~length1~0#1 < 1); {11186#true} is VALID [2022-02-20 23:41:25,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {11186#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {11186#true} is VALID [2022-02-20 23:41:25,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {11186#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11186#true} is VALID [2022-02-20 23:41:25,198 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 5 proven. 21 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:41:25,199 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [344930391] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:25,199 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:25,199 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13, 13] total 34 [2022-02-20 23:41:25,199 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1249764903] [2022-02-20 23:41:25,199 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:25,199 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 54 [2022-02-20 23:41:25,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:25,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:25,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:25,299 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-02-20 23:41:25,299 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:25,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-02-20 23:41:25,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=1043, Unknown=7, NotChecked=0, Total=1190 [2022-02-20 23:41:25,299 INFO L87 Difference]: Start difference. First operand 58 states and 60 transitions. Second operand has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:26,093 INFO L93 Difference]: Finished difference Result 60 states and 62 transitions. [2022-02-20 23:41:26,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:41:26,094 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 54 [2022-02-20 23:41:26,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:26,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 54 transitions. [2022-02-20 23:41:26,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 54 transitions. [2022-02-20 23:41:26,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 54 transitions. [2022-02-20 23:41:26,144 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:26,145 INFO L225 Difference]: With dead ends: 60 [2022-02-20 23:41:26,145 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 23:41:26,145 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 89 SyntacticMatches, 4 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 374 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=309, Invalid=2035, Unknown=8, NotChecked=0, Total=2352 [2022-02-20 23:41:26,146 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 73 mSDsluCounter, 229 mSDsCounter, 0 mSdLazyCounter, 120 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 195 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 120 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 69 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:26,146 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 248 Invalid, 195 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 120 Invalid, 0 Unknown, 69 Unchecked, 0.1s Time] [2022-02-20 23:41:26,146 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 23:41:26,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 57. [2022-02-20 23:41:26,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:26,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 57 states, 56 states have (on average 1.0535714285714286) internal successors, (59), 56 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,147 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 57 states, 56 states have (on average 1.0535714285714286) internal successors, (59), 56 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,147 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 57 states, 56 states have (on average 1.0535714285714286) internal successors, (59), 56 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:26,147 INFO L93 Difference]: Finished difference Result 60 states and 62 transitions. [2022-02-20 23:41:26,148 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 62 transitions. [2022-02-20 23:41:26,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:26,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:26,148 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 56 states have (on average 1.0535714285714286) internal successors, (59), 56 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:41:26,148 INFO L87 Difference]: Start difference. First operand has 57 states, 56 states have (on average 1.0535714285714286) internal successors, (59), 56 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:41:26,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:26,149 INFO L93 Difference]: Finished difference Result 60 states and 62 transitions. [2022-02-20 23:41:26,149 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 62 transitions. [2022-02-20 23:41:26,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:26,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:26,149 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:26,149 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:26,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 56 states have (on average 1.0535714285714286) internal successors, (59), 56 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 59 transitions. [2022-02-20 23:41:26,149 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 59 transitions. Word has length 54 [2022-02-20 23:41:26,149 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:26,149 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 59 transitions. [2022-02-20 23:41:26,150 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 34 states have (on average 3.4411764705882355) internal successors, (117), 35 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:26,150 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2022-02-20 23:41:26,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-02-20 23:41:26,150 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:26,150 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:26,168 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:26,350 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable33 [2022-02-20 23:41:26,350 INFO L402 AbstractCegarLoop]: === Iteration 35 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:26,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:26,351 INFO L85 PathProgramCache]: Analyzing trace with hash 457880571, now seen corresponding path program 4 times [2022-02-20 23:41:26,351 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:26,351 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659595979] [2022-02-20 23:41:26,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:26,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:26,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:26,547 INFO L290 TraceCheckUtils]: 0: Hoare triple {11815#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11815#true} is VALID [2022-02-20 23:41:26,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {11815#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {11815#true} is VALID [2022-02-20 23:41:26,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {11815#true} assume !(main_~length1~0#1 < 1); {11815#true} is VALID [2022-02-20 23:41:26,548 INFO L290 TraceCheckUtils]: 3: Hoare triple {11815#true} assume !(main_~length2~0#1 < 1); {11815#true} is VALID [2022-02-20 23:41:26,549 INFO L290 TraceCheckUtils]: 4: Hoare triple {11815#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,549 INFO L290 TraceCheckUtils]: 5: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,549 INFO L290 TraceCheckUtils]: 6: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,552 INFO L290 TraceCheckUtils]: 12: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,553 INFO L290 TraceCheckUtils]: 16: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,554 INFO L290 TraceCheckUtils]: 17: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,554 INFO L290 TraceCheckUtils]: 18: Hoare triple {11817#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,555 INFO L290 TraceCheckUtils]: 21: Hoare triple {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {11818#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,557 INFO L290 TraceCheckUtils]: 26: Hoare triple {11819#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11820#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {11820#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,558 INFO L290 TraceCheckUtils]: 28: Hoare triple {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,559 INFO L290 TraceCheckUtils]: 29: Hoare triple {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,559 INFO L290 TraceCheckUtils]: 30: Hoare triple {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,559 INFO L290 TraceCheckUtils]: 31: Hoare triple {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {11821#(and (<= 4 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {11822#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:26,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {11822#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {11823#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:26,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {11823#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11823#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:26,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {11823#(and (<= 4 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11824#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} is VALID [2022-02-20 23:41:26,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {11824#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,563 INFO L290 TraceCheckUtils]: 39: Hoare triple {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,564 INFO L290 TraceCheckUtils]: 41: Hoare triple {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,564 INFO L290 TraceCheckUtils]: 42: Hoare triple {11825#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,565 INFO L290 TraceCheckUtils]: 43: Hoare triple {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,566 INFO L290 TraceCheckUtils]: 46: Hoare triple {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,566 INFO L290 TraceCheckUtils]: 47: Hoare triple {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {11826#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,567 INFO L290 TraceCheckUtils]: 49: Hoare triple {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,568 INFO L290 TraceCheckUtils]: 50: Hoare triple {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,568 INFO L290 TraceCheckUtils]: 52: Hoare triple {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,569 INFO L290 TraceCheckUtils]: 53: Hoare triple {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:26,569 INFO L290 TraceCheckUtils]: 54: Hoare triple {11827#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11828#(and (<= 3 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} is VALID [2022-02-20 23:41:26,570 INFO L290 TraceCheckUtils]: 55: Hoare triple {11828#(and (<= 3 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {11816#false} is VALID [2022-02-20 23:41:26,570 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 1 proven. 41 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:26,570 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:26,570 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [659595979] [2022-02-20 23:41:26,570 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [659595979] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:26,570 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435628520] [2022-02-20 23:41:26,570 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:41:26,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:26,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:26,571 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:26,572 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-02-20 23:41:26,675 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:41:26,676 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:26,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 93 conjunts are in the unsatisfiable core [2022-02-20 23:41:26,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:26,701 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:26,730 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:41:26,730 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:41:27,185 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 16 treesize of output 12 [2022-02-20 23:41:27,832 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:41:27,841 INFO L356 Elim1Store]: treesize reduction 29, result has 25.6 percent of original size [2022-02-20 23:41:27,841 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 32 treesize of output 20 [2022-02-20 23:41:27,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {11815#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11815#true} is VALID [2022-02-20 23:41:27,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {11815#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {11815#true} is VALID [2022-02-20 23:41:27,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {11815#true} assume !(main_~length1~0#1 < 1); {11815#true} is VALID [2022-02-20 23:41:27,987 INFO L290 TraceCheckUtils]: 3: Hoare triple {11815#true} assume !(main_~length2~0#1 < 1); {11815#true} is VALID [2022-02-20 23:41:27,987 INFO L290 TraceCheckUtils]: 4: Hoare triple {11815#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,988 INFO L290 TraceCheckUtils]: 6: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,990 INFO L290 TraceCheckUtils]: 10: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {11844#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,995 INFO L290 TraceCheckUtils]: 21: Hoare triple {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,995 INFO L290 TraceCheckUtils]: 22: Hoare triple {11887#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,997 INFO L290 TraceCheckUtils]: 26: Hoare triple {11900#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11913#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,997 INFO L290 TraceCheckUtils]: 27: Hoare triple {11913#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {11913#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,998 INFO L290 TraceCheckUtils]: 28: Hoare triple {11913#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,998 INFO L290 TraceCheckUtils]: 29: Hoare triple {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:27,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:28,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:28,000 INFO L290 TraceCheckUtils]: 33: Hoare triple {11920#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {11936#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:28,001 INFO L290 TraceCheckUtils]: 34: Hoare triple {11936#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {11940#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:28,002 INFO L290 TraceCheckUtils]: 35: Hoare triple {11940#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11940#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:28,002 INFO L290 TraceCheckUtils]: 36: Hoare triple {11940#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11947#(and (<= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:28,003 INFO L290 TraceCheckUtils]: 37: Hoare triple {11947#(and (<= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11951#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:28,003 INFO L290 TraceCheckUtils]: 38: Hoare triple {11951#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:28,004 INFO L290 TraceCheckUtils]: 39: Hoare triple {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:28,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:28,005 INFO L290 TraceCheckUtils]: 41: Hoare triple {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:28,005 INFO L290 TraceCheckUtils]: 42: Hoare triple {11955#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11968#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,006 INFO L290 TraceCheckUtils]: 43: Hoare triple {11968#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11968#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,006 INFO L290 TraceCheckUtils]: 44: Hoare triple {11968#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 1) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11975#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,007 INFO L290 TraceCheckUtils]: 45: Hoare triple {11975#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {11975#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,007 INFO L290 TraceCheckUtils]: 46: Hoare triple {11975#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {11975#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {11975#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {11985#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {11985#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 2) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {11989#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|))) 0) (<= 2 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~post2#1.base| |ULTIMATE.start_cstrcmp_~s2#1.base|) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 2))} is VALID [2022-02-20 23:41:28,009 INFO L290 TraceCheckUtils]: 49: Hoare triple {11989#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|))) 0) (<= 2 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~post2#1.base| |ULTIMATE.start_cstrcmp_~s2#1.base|) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (<= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 2))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {11993#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:28,010 INFO L290 TraceCheckUtils]: 50: Hoare triple {11993#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {11997#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) 2) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 2))} is VALID [2022-02-20 23:41:28,013 INFO L290 TraceCheckUtils]: 51: Hoare triple {11997#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) 2) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) 0) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 2))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12001#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (or (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0) (not (= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,013 INFO L290 TraceCheckUtils]: 52: Hoare triple {12001#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (or (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0) (not (= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12005#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (not (= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,014 INFO L290 TraceCheckUtils]: 53: Hoare triple {12005#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (not (= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12005#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (not (= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:28,014 INFO L290 TraceCheckUtils]: 54: Hoare triple {12005#(and (<= |ULTIMATE.start_cstrcmp_~s2#1.offset| 3) (not (= |ULTIMATE.start_cstrcmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12012#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 3) (<= 3 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (not (= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} is VALID [2022-02-20 23:41:28,015 INFO L290 TraceCheckUtils]: 55: Hoare triple {12012#(and (<= 3 (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 3) (<= 3 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (not (= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {11816#false} is VALID [2022-02-20 23:41:28,015 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 8 proven. 34 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:28,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:29,476 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:29,477 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 103 treesize of output 103 [2022-02-20 23:41:29,550 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 40 treesize of output 36 [2022-02-20 23:41:29,590 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 7 treesize of output 3 [2022-02-20 23:41:30,709 INFO L290 TraceCheckUtils]: 55: Hoare triple {12016#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {11816#false} is VALID [2022-02-20 23:41:30,710 INFO L290 TraceCheckUtils]: 54: Hoare triple {12020#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12016#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:41:30,710 INFO L290 TraceCheckUtils]: 53: Hoare triple {12020#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12020#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:30,711 INFO L290 TraceCheckUtils]: 52: Hoare triple {12027#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12020#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:30,712 INFO L290 TraceCheckUtils]: 51: Hoare triple {12031#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12027#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0))} is VALID [2022-02-20 23:41:30,712 INFO L290 TraceCheckUtils]: 50: Hoare triple {12035#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12031#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0))} is VALID [2022-02-20 23:41:30,713 INFO L290 TraceCheckUtils]: 49: Hoare triple {12039#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12035#(or (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:30,714 INFO L290 TraceCheckUtils]: 48: Hoare triple {12043#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12039#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:30,715 INFO L290 TraceCheckUtils]: 47: Hoare triple {12047#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12043#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:30,729 INFO L290 TraceCheckUtils]: 46: Hoare triple {12047#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12047#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:30,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {12047#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12047#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:30,731 INFO L290 TraceCheckUtils]: 44: Hoare triple {12057#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12047#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:30,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {12057#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12057#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:30,734 INFO L290 TraceCheckUtils]: 42: Hoare triple {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12057#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:30,735 INFO L290 TraceCheckUtils]: 41: Hoare triple {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:30,736 INFO L290 TraceCheckUtils]: 40: Hoare triple {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:30,736 INFO L290 TraceCheckUtils]: 39: Hoare triple {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:30,737 INFO L290 TraceCheckUtils]: 38: Hoare triple {12077#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12064#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:30,738 INFO L290 TraceCheckUtils]: 37: Hoare triple {12081#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12077#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:30,740 INFO L290 TraceCheckUtils]: 36: Hoare triple {12085#(or (forall ((|v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| Int)) (or (not (<= |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 2)))))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12081#(or (and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:30,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {12085#(or (forall ((|v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| Int)) (or (not (<= |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 2)))))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12085#(or (forall ((|v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| Int)) (or (not (<= |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 2)))))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:30,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {12092#(forall ((|ULTIMATE.start_main_~nondetString1~0#1.base| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0) (forall ((|v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| Int)) (or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 2)))) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)) (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)))))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {12085#(or (forall ((|v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| Int)) (or (not (<= |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 2)))))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:30,743 INFO L290 TraceCheckUtils]: 33: Hoare triple {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {12092#(forall ((|ULTIMATE.start_main_~nondetString1~0#1.base| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) 0) (forall ((|v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| Int)) (or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 2)))) (<= (+ |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)) (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrcmp_#t~post2#1.offset_66|)))))} is VALID [2022-02-20 23:41:30,744 INFO L290 TraceCheckUtils]: 32: Hoare triple {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:30,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:30,745 INFO L290 TraceCheckUtils]: 30: Hoare triple {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:30,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet17#1; {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:30,746 INFO L290 TraceCheckUtils]: 28: Hoare triple {12112#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12096#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:30,747 INFO L290 TraceCheckUtils]: 27: Hoare triple {12112#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12112#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,747 INFO L290 TraceCheckUtils]: 26: Hoare triple {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12112#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,748 INFO L290 TraceCheckUtils]: 25: Hoare triple {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet17#1; {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,748 INFO L290 TraceCheckUtils]: 24: Hoare triple {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,749 INFO L290 TraceCheckUtils]: 23: Hoare triple {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,750 INFO L290 TraceCheckUtils]: 22: Hoare triple {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12119#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,750 INFO L290 TraceCheckUtils]: 21: Hoare triple {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet17#1; {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} main_~i~1#1 := 0; {12132#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:30,753 INFO L290 TraceCheckUtils]: 17: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} havoc main_#t~nondet15#1; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,756 INFO L290 TraceCheckUtils]: 11: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} havoc main_#t~nondet15#1; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} havoc main_#t~nondet15#1; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,759 INFO L290 TraceCheckUtils]: 6: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,760 INFO L290 TraceCheckUtils]: 4: Hoare triple {11815#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {12145#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:41:30,760 INFO L290 TraceCheckUtils]: 3: Hoare triple {11815#true} assume !(main_~length2~0#1 < 1); {11815#true} is VALID [2022-02-20 23:41:30,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {11815#true} assume !(main_~length1~0#1 < 1); {11815#true} is VALID [2022-02-20 23:41:30,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {11815#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {11815#true} is VALID [2022-02-20 23:41:30,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {11815#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11815#true} is VALID [2022-02-20 23:41:30,761 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 27 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:30,761 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435628520] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:30,762 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:30,762 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 20, 20] total 51 [2022-02-20 23:41:30,762 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2104695617] [2022-02-20 23:41:30,762 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:30,762 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 56 [2022-02-20 23:41:30,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:30,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:30,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:30,878 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 52 states [2022-02-20 23:41:30,878 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:30,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2022-02-20 23:41:30,879 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=282, Invalid=2370, Unknown=0, NotChecked=0, Total=2652 [2022-02-20 23:41:30,879 INFO L87 Difference]: Start difference. First operand 57 states and 59 transitions. Second operand has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:33,251 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-02-20 23:41:33,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-02-20 23:41:33,252 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 56 [2022-02-20 23:41:33,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:33,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 64 transitions. [2022-02-20 23:41:33,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 64 transitions. [2022-02-20 23:41:33,253 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 64 transitions. [2022-02-20 23:41:33,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:33,297 INFO L225 Difference]: With dead ends: 69 [2022-02-20 23:41:33,297 INFO L226 Difference]: Without dead ends: 69 [2022-02-20 23:41:33,298 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 880 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=966, Invalid=4436, Unknown=0, NotChecked=0, Total=5402 [2022-02-20 23:41:33,298 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 270 mSDsluCounter, 294 mSDsCounter, 0 mSdLazyCounter, 621 mSolverCounterSat, 114 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 270 SdHoareTripleChecker+Valid, 310 SdHoareTripleChecker+Invalid, 773 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 114 IncrementalHoareTripleChecker+Valid, 621 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 38 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:33,299 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [270 Valid, 310 Invalid, 773 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [114 Valid, 621 Invalid, 0 Unknown, 38 Unchecked, 0.5s Time] [2022-02-20 23:41:33,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-02-20 23:41:33,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2022-02-20 23:41:33,304 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:33,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 69 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,305 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 69 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,305 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 69 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:33,306 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-02-20 23:41:33,306 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 71 transitions. [2022-02-20 23:41:33,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:33,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:33,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 69 states. [2022-02-20 23:41:33,307 INFO L87 Difference]: Start difference. First operand has 69 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 69 states. [2022-02-20 23:41:33,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:33,308 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-02-20 23:41:33,308 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 71 transitions. [2022-02-20 23:41:33,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:33,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:33,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:33,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:33,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 71 transitions. [2022-02-20 23:41:33,309 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 71 transitions. Word has length 56 [2022-02-20 23:41:33,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:33,309 INFO L470 AbstractCegarLoop]: Abstraction has 69 states and 71 transitions. [2022-02-20 23:41:33,309 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 52 states, 51 states have (on average 2.6666666666666665) internal successors, (136), 52 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:33,309 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 71 transitions. [2022-02-20 23:41:33,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-02-20 23:41:33,314 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:33,315 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:33,334 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:33,516 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable34,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:33,516 INFO L402 AbstractCegarLoop]: === Iteration 36 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:33,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:33,517 INFO L85 PathProgramCache]: Analyzing trace with hash 187500121, now seen corresponding path program 5 times [2022-02-20 23:41:33,517 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:33,517 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1765490589] [2022-02-20 23:41:33,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:33,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:33,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:33,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {12521#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12521#true} is VALID [2022-02-20 23:41:33,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {12521#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {12521#true} is VALID [2022-02-20 23:41:33,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {12521#true} assume !(main_~length1~0#1 < 1); {12521#true} is VALID [2022-02-20 23:41:33,701 INFO L290 TraceCheckUtils]: 3: Hoare triple {12521#true} assume !(main_~length2~0#1 < 1); {12521#true} is VALID [2022-02-20 23:41:33,702 INFO L290 TraceCheckUtils]: 4: Hoare triple {12521#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,704 INFO L290 TraceCheckUtils]: 10: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,706 INFO L290 TraceCheckUtils]: 15: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,707 INFO L290 TraceCheckUtils]: 16: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {12523#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,709 INFO L290 TraceCheckUtils]: 21: Hoare triple {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:33,709 INFO L290 TraceCheckUtils]: 22: Hoare triple {12524#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:41:33,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:41:33,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:41:33,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} havoc main_#t~nondet17#1; {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:41:33,711 INFO L290 TraceCheckUtils]: 26: Hoare triple {12525#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 1)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:41:33,711 INFO L290 TraceCheckUtils]: 27: Hoare triple {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:41:33,712 INFO L290 TraceCheckUtils]: 28: Hoare triple {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:41:33,712 INFO L290 TraceCheckUtils]: 29: Hoare triple {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} havoc main_#t~nondet17#1; {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:41:33,713 INFO L290 TraceCheckUtils]: 30: Hoare triple {12526#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 2)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12527#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 3)))} is VALID [2022-02-20 23:41:33,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {12527#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (+ |ULTIMATE.start_main_~length2~0#1| 3)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12528#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} is VALID [2022-02-20 23:41:33,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {12528#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {12528#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} is VALID [2022-02-20 23:41:33,714 INFO L290 TraceCheckUtils]: 33: Hoare triple {12528#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {12528#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} is VALID [2022-02-20 23:41:33,715 INFO L290 TraceCheckUtils]: 34: Hoare triple {12528#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {12529#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:33,715 INFO L290 TraceCheckUtils]: 35: Hoare triple {12529#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12529#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:33,716 INFO L290 TraceCheckUtils]: 36: Hoare triple {12529#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12530#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:41:33,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {12530#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,716 INFO L290 TraceCheckUtils]: 38: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,717 INFO L290 TraceCheckUtils]: 39: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,717 INFO L290 TraceCheckUtils]: 40: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,718 INFO L290 TraceCheckUtils]: 41: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,719 INFO L290 TraceCheckUtils]: 43: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,719 INFO L290 TraceCheckUtils]: 44: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,719 INFO L290 TraceCheckUtils]: 45: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,720 INFO L290 TraceCheckUtils]: 46: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,720 INFO L290 TraceCheckUtils]: 47: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:33,721 INFO L290 TraceCheckUtils]: 48: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:33,721 INFO L290 TraceCheckUtils]: 49: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:33,721 INFO L290 TraceCheckUtils]: 50: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:33,722 INFO L290 TraceCheckUtils]: 51: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:33,722 INFO L290 TraceCheckUtils]: 52: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:33,722 INFO L290 TraceCheckUtils]: 53: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:33,723 INFO L290 TraceCheckUtils]: 54: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:33,723 INFO L290 TraceCheckUtils]: 55: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:33,723 INFO L290 TraceCheckUtils]: 56: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:33,724 INFO L290 TraceCheckUtils]: 57: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:33,724 INFO L290 TraceCheckUtils]: 58: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:33,724 INFO L290 TraceCheckUtils]: 59: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:33,725 INFO L290 TraceCheckUtils]: 60: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12535#(<= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)} is VALID [2022-02-20 23:41:33,725 INFO L290 TraceCheckUtils]: 61: Hoare triple {12535#(<= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12522#false} is VALID [2022-02-20 23:41:33,725 INFO L290 TraceCheckUtils]: 62: Hoare triple {12522#false} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12522#false} is VALID [2022-02-20 23:41:33,725 INFO L290 TraceCheckUtils]: 63: Hoare triple {12522#false} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12522#false} is VALID [2022-02-20 23:41:33,725 INFO L290 TraceCheckUtils]: 64: Hoare triple {12522#false} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12522#false} is VALID [2022-02-20 23:41:33,725 INFO L290 TraceCheckUtils]: 65: Hoare triple {12522#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12522#false} is VALID [2022-02-20 23:41:33,726 INFO L290 TraceCheckUtils]: 66: Hoare triple {12522#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12522#false} is VALID [2022-02-20 23:41:33,726 INFO L290 TraceCheckUtils]: 67: Hoare triple {12522#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {12522#false} is VALID [2022-02-20 23:41:33,726 INFO L134 CoverageAnalysis]: Checked inductivity of 105 backedges. 60 proven. 30 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:33,726 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:33,726 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1765490589] [2022-02-20 23:41:33,726 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1765490589] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:33,726 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [952587905] [2022-02-20 23:41:33,727 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 23:41:33,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:33,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:33,728 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:33,729 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-02-20 23:41:33,850 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2022-02-20 23:41:33,850 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:33,852 INFO L263 TraceCheckSpWp]: Trace formula consists of 370 conjuncts, 45 conjunts are in the unsatisfiable core [2022-02-20 23:41:33,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:33,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:33,918 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:41:33,918 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:41:34,505 INFO L290 TraceCheckUtils]: 0: Hoare triple {12521#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12521#true} is VALID [2022-02-20 23:41:34,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {12521#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {12521#true} is VALID [2022-02-20 23:41:34,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {12521#true} assume !(main_~length1~0#1 < 1); {12521#true} is VALID [2022-02-20 23:41:34,514 INFO L290 TraceCheckUtils]: 3: Hoare triple {12521#true} assume !(main_~length2~0#1 < 1); {12521#true} is VALID [2022-02-20 23:41:34,515 INFO L290 TraceCheckUtils]: 4: Hoare triple {12521#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,516 INFO L290 TraceCheckUtils]: 6: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,516 INFO L290 TraceCheckUtils]: 7: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,517 INFO L290 TraceCheckUtils]: 10: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,519 INFO L290 TraceCheckUtils]: 16: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,520 INFO L290 TraceCheckUtils]: 17: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {12551#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:34,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:34,521 INFO L290 TraceCheckUtils]: 20: Hoare triple {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:34,521 INFO L290 TraceCheckUtils]: 21: Hoare triple {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet17#1; {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:41:34,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {12594#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} is VALID [2022-02-20 23:41:34,522 INFO L290 TraceCheckUtils]: 23: Hoare triple {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} is VALID [2022-02-20 23:41:34,523 INFO L290 TraceCheckUtils]: 24: Hoare triple {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} is VALID [2022-02-20 23:41:34,523 INFO L290 TraceCheckUtils]: 25: Hoare triple {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} havoc main_#t~nondet17#1; {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} is VALID [2022-02-20 23:41:34,523 INFO L290 TraceCheckUtils]: 26: Hoare triple {12607#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,524 INFO L290 TraceCheckUtils]: 27: Hoare triple {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,524 INFO L290 TraceCheckUtils]: 28: Hoare triple {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,524 INFO L290 TraceCheckUtils]: 29: Hoare triple {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:34,525 INFO L290 TraceCheckUtils]: 30: Hoare triple {12620#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12633#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 3))} is VALID [2022-02-20 23:41:34,525 INFO L290 TraceCheckUtils]: 31: Hoare triple {12633#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 3))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12637#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} is VALID [2022-02-20 23:41:34,526 INFO L290 TraceCheckUtils]: 32: Hoare triple {12637#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {12637#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} is VALID [2022-02-20 23:41:34,526 INFO L290 TraceCheckUtils]: 33: Hoare triple {12637#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {12637#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} is VALID [2022-02-20 23:41:34,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {12637#(and (<= 0 |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 4))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {12647#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,527 INFO L290 TraceCheckUtils]: 35: Hoare triple {12647#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12647#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {12647#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,528 INFO L290 TraceCheckUtils]: 37: Hoare triple {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,528 INFO L290 TraceCheckUtils]: 38: Hoare triple {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,529 INFO L290 TraceCheckUtils]: 39: Hoare triple {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,529 INFO L290 TraceCheckUtils]: 40: Hoare triple {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,529 INFO L290 TraceCheckUtils]: 41: Hoare triple {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,530 INFO L290 TraceCheckUtils]: 42: Hoare triple {12654#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,530 INFO L290 TraceCheckUtils]: 43: Hoare triple {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,531 INFO L290 TraceCheckUtils]: 44: Hoare triple {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,531 INFO L290 TraceCheckUtils]: 45: Hoare triple {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,531 INFO L290 TraceCheckUtils]: 46: Hoare triple {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,532 INFO L290 TraceCheckUtils]: 47: Hoare triple {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,532 INFO L290 TraceCheckUtils]: 48: Hoare triple {12673#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,533 INFO L290 TraceCheckUtils]: 49: Hoare triple {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,533 INFO L290 TraceCheckUtils]: 50: Hoare triple {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,533 INFO L290 TraceCheckUtils]: 51: Hoare triple {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,534 INFO L290 TraceCheckUtils]: 52: Hoare triple {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,534 INFO L290 TraceCheckUtils]: 53: Hoare triple {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:34,535 INFO L290 TraceCheckUtils]: 54: Hoare triple {12692#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,535 INFO L290 TraceCheckUtils]: 55: Hoare triple {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,535 INFO L290 TraceCheckUtils]: 56: Hoare triple {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,536 INFO L290 TraceCheckUtils]: 57: Hoare triple {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,536 INFO L290 TraceCheckUtils]: 58: Hoare triple {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,537 INFO L290 TraceCheckUtils]: 59: Hoare triple {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} is VALID [2022-02-20 23:41:34,537 INFO L290 TraceCheckUtils]: 60: Hoare triple {12711#(and (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12730#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:41:34,537 INFO L290 TraceCheckUtils]: 61: Hoare triple {12730#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12522#false} is VALID [2022-02-20 23:41:34,537 INFO L290 TraceCheckUtils]: 62: Hoare triple {12522#false} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12522#false} is VALID [2022-02-20 23:41:34,538 INFO L290 TraceCheckUtils]: 63: Hoare triple {12522#false} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12522#false} is VALID [2022-02-20 23:41:34,538 INFO L290 TraceCheckUtils]: 64: Hoare triple {12522#false} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12522#false} is VALID [2022-02-20 23:41:34,538 INFO L290 TraceCheckUtils]: 65: Hoare triple {12522#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12522#false} is VALID [2022-02-20 23:41:34,538 INFO L290 TraceCheckUtils]: 66: Hoare triple {12522#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12522#false} is VALID [2022-02-20 23:41:34,538 INFO L290 TraceCheckUtils]: 67: Hoare triple {12522#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {12522#false} is VALID [2022-02-20 23:41:34,538 INFO L134 CoverageAnalysis]: Checked inductivity of 105 backedges. 71 proven. 19 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:34,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:35,082 INFO L290 TraceCheckUtils]: 67: Hoare triple {12522#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {12522#false} is VALID [2022-02-20 23:41:35,083 INFO L290 TraceCheckUtils]: 66: Hoare triple {12522#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12522#false} is VALID [2022-02-20 23:41:35,083 INFO L290 TraceCheckUtils]: 65: Hoare triple {12522#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12522#false} is VALID [2022-02-20 23:41:35,083 INFO L290 TraceCheckUtils]: 64: Hoare triple {12522#false} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12522#false} is VALID [2022-02-20 23:41:35,083 INFO L290 TraceCheckUtils]: 63: Hoare triple {12522#false} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12522#false} is VALID [2022-02-20 23:41:35,083 INFO L290 TraceCheckUtils]: 62: Hoare triple {12522#false} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12522#false} is VALID [2022-02-20 23:41:35,083 INFO L290 TraceCheckUtils]: 61: Hoare triple {12535#(<= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12522#false} is VALID [2022-02-20 23:41:35,084 INFO L290 TraceCheckUtils]: 60: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12535#(<= (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)} is VALID [2022-02-20 23:41:35,084 INFO L290 TraceCheckUtils]: 59: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:35,084 INFO L290 TraceCheckUtils]: 58: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:35,085 INFO L290 TraceCheckUtils]: 57: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:35,085 INFO L290 TraceCheckUtils]: 56: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:35,085 INFO L290 TraceCheckUtils]: 55: Hoare triple {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:35,086 INFO L290 TraceCheckUtils]: 54: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12534#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|)} is VALID [2022-02-20 23:41:35,086 INFO L290 TraceCheckUtils]: 53: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:35,086 INFO L290 TraceCheckUtils]: 52: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:35,086 INFO L290 TraceCheckUtils]: 51: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:35,087 INFO L290 TraceCheckUtils]: 50: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:35,087 INFO L290 TraceCheckUtils]: 49: Hoare triple {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:35,087 INFO L290 TraceCheckUtils]: 48: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12533#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:41:35,088 INFO L290 TraceCheckUtils]: 47: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,088 INFO L290 TraceCheckUtils]: 46: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,089 INFO L290 TraceCheckUtils]: 45: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,089 INFO L290 TraceCheckUtils]: 44: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,089 INFO L290 TraceCheckUtils]: 43: Hoare triple {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,090 INFO L290 TraceCheckUtils]: 42: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12532#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,090 INFO L290 TraceCheckUtils]: 41: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,090 INFO L290 TraceCheckUtils]: 40: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,091 INFO L290 TraceCheckUtils]: 39: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,091 INFO L290 TraceCheckUtils]: 38: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,092 INFO L290 TraceCheckUtils]: 37: Hoare triple {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,092 INFO L290 TraceCheckUtils]: 36: Hoare triple {12845#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {12531#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:35,092 INFO L290 TraceCheckUtils]: 35: Hoare triple {12845#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {12845#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4))} is VALID [2022-02-20 23:41:35,093 INFO L290 TraceCheckUtils]: 34: Hoare triple {12852#(<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {12845#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4))} is VALID [2022-02-20 23:41:35,093 INFO L290 TraceCheckUtils]: 33: Hoare triple {12852#(<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {12852#(<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))} is VALID [2022-02-20 23:41:35,093 INFO L290 TraceCheckUtils]: 32: Hoare triple {12852#(<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {12852#(<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))} is VALID [2022-02-20 23:41:35,094 INFO L290 TraceCheckUtils]: 31: Hoare triple {12862#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12852#(<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))} is VALID [2022-02-20 23:41:35,094 INFO L290 TraceCheckUtils]: 30: Hoare triple {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12862#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,095 INFO L290 TraceCheckUtils]: 29: Hoare triple {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,095 INFO L290 TraceCheckUtils]: 28: Hoare triple {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12866#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,097 INFO L290 TraceCheckUtils]: 23: Hoare triple {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,098 INFO L290 TraceCheckUtils]: 22: Hoare triple {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12879#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ 3 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,099 INFO L290 TraceCheckUtils]: 19: Hoare triple {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,099 INFO L290 TraceCheckUtils]: 18: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {12892#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< (+ |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,099 INFO L290 TraceCheckUtils]: 17: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,100 INFO L290 TraceCheckUtils]: 16: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,101 INFO L290 TraceCheckUtils]: 14: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,101 INFO L290 TraceCheckUtils]: 12: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,102 INFO L290 TraceCheckUtils]: 11: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,102 INFO L290 TraceCheckUtils]: 10: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,102 INFO L290 TraceCheckUtils]: 9: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,103 INFO L290 TraceCheckUtils]: 8: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,103 INFO L290 TraceCheckUtils]: 7: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet15#1; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,104 INFO L290 TraceCheckUtils]: 6: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,104 INFO L290 TraceCheckUtils]: 5: Hoare triple {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,105 INFO L290 TraceCheckUtils]: 4: Hoare triple {12521#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {12905#(or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4)) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:35,105 INFO L290 TraceCheckUtils]: 3: Hoare triple {12521#true} assume !(main_~length2~0#1 < 1); {12521#true} is VALID [2022-02-20 23:41:35,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {12521#true} assume !(main_~length1~0#1 < 1); {12521#true} is VALID [2022-02-20 23:41:35,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {12521#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {12521#true} is VALID [2022-02-20 23:41:35,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {12521#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12521#true} is VALID [2022-02-20 23:41:35,106 INFO L134 CoverageAnalysis]: Checked inductivity of 105 backedges. 71 proven. 19 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 23:41:35,106 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [952587905] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:35,106 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:35,106 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 34 [2022-02-20 23:41:35,107 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [102197225] [2022-02-20 23:41:35,107 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:35,107 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 68 [2022-02-20 23:41:35,107 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:35,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:35,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:35,189 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-02-20 23:41:35,189 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:35,189 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-02-20 23:41:35,190 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=179, Invalid=943, Unknown=0, NotChecked=0, Total=1122 [2022-02-20 23:41:35,190 INFO L87 Difference]: Start difference. First operand 69 states and 71 transitions. Second operand has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:36,115 INFO L93 Difference]: Finished difference Result 106 states and 108 transitions. [2022-02-20 23:41:36,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 23:41:36,115 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 68 [2022-02-20 23:41:36,115 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:36,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 73 transitions. [2022-02-20 23:41:36,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 73 transitions. [2022-02-20 23:41:36,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 73 transitions. [2022-02-20 23:41:36,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:36,174 INFO L225 Difference]: With dead ends: 106 [2022-02-20 23:41:36,174 INFO L226 Difference]: Without dead ends: 76 [2022-02-20 23:41:36,175 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 116 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 504 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=422, Invalid=1648, Unknown=0, NotChecked=0, Total=2070 [2022-02-20 23:41:36,175 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 135 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 359 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 135 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 383 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 359 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:36,175 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [135 Valid, 200 Invalid, 383 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 359 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:41:36,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-20 23:41:36,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 73. [2022-02-20 23:41:36,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:36,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 73 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 72 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,176 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 73 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 72 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,176 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 73 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 72 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:36,177 INFO L93 Difference]: Finished difference Result 76 states and 78 transitions. [2022-02-20 23:41:36,177 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2022-02-20 23:41:36,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:36,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:36,177 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 72 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 76 states. [2022-02-20 23:41:36,177 INFO L87 Difference]: Start difference. First operand has 73 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 72 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 76 states. [2022-02-20 23:41:36,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:36,178 INFO L93 Difference]: Finished difference Result 76 states and 78 transitions. [2022-02-20 23:41:36,178 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2022-02-20 23:41:36,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:36,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:36,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:36,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:36,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 72 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 75 transitions. [2022-02-20 23:41:36,179 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 75 transitions. Word has length 68 [2022-02-20 23:41:36,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:36,179 INFO L470 AbstractCegarLoop]: Abstraction has 73 states and 75 transitions. [2022-02-20 23:41:36,179 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 4.0) internal successors, (136), 34 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:36,179 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 75 transitions. [2022-02-20 23:41:36,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-02-20 23:41:36,181 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:36,181 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:36,198 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:36,389 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:36,389 INFO L402 AbstractCegarLoop]: === Iteration 37 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:36,389 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:36,389 INFO L85 PathProgramCache]: Analyzing trace with hash 278636470, now seen corresponding path program 6 times [2022-02-20 23:41:36,389 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:36,390 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657800265] [2022-02-20 23:41:36,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:36,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:36,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:36,543 INFO L290 TraceCheckUtils]: 0: Hoare triple {13314#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {13314#true} is VALID [2022-02-20 23:41:36,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {13314#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {13314#true} is VALID [2022-02-20 23:41:36,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {13314#true} assume !(main_~length1~0#1 < 1); {13314#true} is VALID [2022-02-20 23:41:36,543 INFO L290 TraceCheckUtils]: 3: Hoare triple {13314#true} assume !(main_~length2~0#1 < 1); {13314#true} is VALID [2022-02-20 23:41:36,544 INFO L290 TraceCheckUtils]: 4: Hoare triple {13314#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:36,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:36,545 INFO L290 TraceCheckUtils]: 6: Hoare triple {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:36,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet15#1; {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:36,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {13316#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:36,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:36,547 INFO L290 TraceCheckUtils]: 10: Hoare triple {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:36,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} havoc main_#t~nondet15#1; {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:36,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {13317#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:36,548 INFO L290 TraceCheckUtils]: 13: Hoare triple {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:36,548 INFO L290 TraceCheckUtils]: 14: Hoare triple {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:36,549 INFO L290 TraceCheckUtils]: 15: Hoare triple {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} havoc main_#t~nondet15#1; {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:36,549 INFO L290 TraceCheckUtils]: 16: Hoare triple {13318#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13319#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:36,549 INFO L290 TraceCheckUtils]: 17: Hoare triple {13319#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} main_~i~1#1 := 0; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,550 INFO L290 TraceCheckUtils]: 19: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,551 INFO L290 TraceCheckUtils]: 21: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} havoc main_#t~nondet17#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,551 INFO L290 TraceCheckUtils]: 22: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,551 INFO L290 TraceCheckUtils]: 23: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} havoc main_#t~nondet17#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,553 INFO L290 TraceCheckUtils]: 28: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} havoc main_#t~nondet17#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,554 INFO L290 TraceCheckUtils]: 33: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} havoc main_#t~nondet17#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,554 INFO L290 TraceCheckUtils]: 34: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,555 INFO L290 TraceCheckUtils]: 35: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,555 INFO L290 TraceCheckUtils]: 36: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,555 INFO L290 TraceCheckUtils]: 37: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} is VALID [2022-02-20 23:41:36,556 INFO L290 TraceCheckUtils]: 38: Hoare triple {13320#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} is VALID [2022-02-20 23:41:36,556 INFO L290 TraceCheckUtils]: 39: Hoare triple {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} is VALID [2022-02-20 23:41:36,556 INFO L290 TraceCheckUtils]: 40: Hoare triple {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} is VALID [2022-02-20 23:41:36,557 INFO L290 TraceCheckUtils]: 41: Hoare triple {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} is VALID [2022-02-20 23:41:36,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {13321#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13322#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,558 INFO L290 TraceCheckUtils]: 43: Hoare triple {13322#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,558 INFO L290 TraceCheckUtils]: 44: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,558 INFO L290 TraceCheckUtils]: 45: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,559 INFO L290 TraceCheckUtils]: 46: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,559 INFO L290 TraceCheckUtils]: 47: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,560 INFO L290 TraceCheckUtils]: 48: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,561 INFO L290 TraceCheckUtils]: 51: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,561 INFO L290 TraceCheckUtils]: 52: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:36,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:36,562 INFO L290 TraceCheckUtils]: 55: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:36,563 INFO L290 TraceCheckUtils]: 56: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:36,563 INFO L290 TraceCheckUtils]: 57: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:36,563 INFO L290 TraceCheckUtils]: 58: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:36,564 INFO L290 TraceCheckUtils]: 59: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:36,564 INFO L290 TraceCheckUtils]: 60: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,564 INFO L290 TraceCheckUtils]: 61: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,565 INFO L290 TraceCheckUtils]: 62: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,565 INFO L290 TraceCheckUtils]: 63: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,565 INFO L290 TraceCheckUtils]: 64: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,565 INFO L290 TraceCheckUtils]: 65: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,566 INFO L290 TraceCheckUtils]: 66: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13327#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,566 INFO L290 TraceCheckUtils]: 67: Hoare triple {13327#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13327#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,567 INFO L290 TraceCheckUtils]: 68: Hoare triple {13327#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13327#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:36,567 INFO L290 TraceCheckUtils]: 69: Hoare triple {13327#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13315#false} is VALID [2022-02-20 23:41:36,567 INFO L290 TraceCheckUtils]: 70: Hoare triple {13315#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13315#false} is VALID [2022-02-20 23:41:36,567 INFO L290 TraceCheckUtils]: 71: Hoare triple {13315#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {13315#false} is VALID [2022-02-20 23:41:36,568 INFO L134 CoverageAnalysis]: Checked inductivity of 118 backedges. 54 proven. 36 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 23:41:36,568 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:36,568 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657800265] [2022-02-20 23:41:36,568 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [657800265] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:36,568 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [171994342] [2022-02-20 23:41:36,568 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 23:41:36,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:36,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:36,569 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:36,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-02-20 23:41:36,722 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-02-20 23:41:36,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:36,725 INFO L263 TraceCheckSpWp]: Trace formula consists of 384 conjuncts, 52 conjunts are in the unsatisfiable core [2022-02-20 23:41:36,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:36,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:36,830 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:41:36,831 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:41:36,840 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-02-20 23:41:37,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {13314#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {13314#true} is VALID [2022-02-20 23:41:37,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {13314#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {13314#true} is VALID [2022-02-20 23:41:37,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {13314#true} assume !(main_~length1~0#1 < 1); {13314#true} is VALID [2022-02-20 23:41:37,613 INFO L290 TraceCheckUtils]: 3: Hoare triple {13314#true} assume !(main_~length2~0#1 < 1); {13314#true} is VALID [2022-02-20 23:41:37,614 INFO L290 TraceCheckUtils]: 4: Hoare triple {13314#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,615 INFO L290 TraceCheckUtils]: 6: Hoare triple {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} havoc main_#t~nondet15#1; {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {13343#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:37,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:37,617 INFO L290 TraceCheckUtils]: 10: Hoare triple {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:37,617 INFO L290 TraceCheckUtils]: 11: Hoare triple {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet15#1; {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:37,618 INFO L290 TraceCheckUtils]: 12: Hoare triple {13356#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,618 INFO L290 TraceCheckUtils]: 13: Hoare triple {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} havoc main_#t~nondet15#1; {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {13369#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13382#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} is VALID [2022-02-20 23:41:37,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {13382#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} main_~i~1#1 := 0; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} havoc main_#t~nondet17#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,622 INFO L290 TraceCheckUtils]: 23: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,623 INFO L290 TraceCheckUtils]: 25: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} havoc main_#t~nondet17#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,624 INFO L290 TraceCheckUtils]: 26: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,624 INFO L290 TraceCheckUtils]: 27: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,625 INFO L290 TraceCheckUtils]: 29: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} havoc main_#t~nondet17#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,625 INFO L290 TraceCheckUtils]: 30: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,626 INFO L290 TraceCheckUtils]: 33: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} havoc main_#t~nondet17#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,627 INFO L290 TraceCheckUtils]: 34: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,627 INFO L290 TraceCheckUtils]: 35: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,627 INFO L290 TraceCheckUtils]: 36: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,628 INFO L290 TraceCheckUtils]: 37: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} is VALID [2022-02-20 23:41:37,628 INFO L290 TraceCheckUtils]: 38: Hoare triple {13386#(and (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 4))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,629 INFO L290 TraceCheckUtils]: 40: Hoare triple {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,630 INFO L290 TraceCheckUtils]: 41: Hoare triple {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,630 INFO L290 TraceCheckUtils]: 42: Hoare triple {13450#(and (<= 0 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,631 INFO L290 TraceCheckUtils]: 43: Hoare triple {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,631 INFO L290 TraceCheckUtils]: 44: Hoare triple {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,631 INFO L290 TraceCheckUtils]: 45: Hoare triple {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,632 INFO L290 TraceCheckUtils]: 46: Hoare triple {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,632 INFO L290 TraceCheckUtils]: 47: Hoare triple {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {13463#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,634 INFO L290 TraceCheckUtils]: 50: Hoare triple {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,634 INFO L290 TraceCheckUtils]: 51: Hoare triple {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,634 INFO L290 TraceCheckUtils]: 52: Hoare triple {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,635 INFO L290 TraceCheckUtils]: 53: Hoare triple {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,635 INFO L290 TraceCheckUtils]: 54: Hoare triple {13482#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,636 INFO L290 TraceCheckUtils]: 55: Hoare triple {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,636 INFO L290 TraceCheckUtils]: 56: Hoare triple {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,637 INFO L290 TraceCheckUtils]: 57: Hoare triple {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,637 INFO L290 TraceCheckUtils]: 58: Hoare triple {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,637 INFO L290 TraceCheckUtils]: 59: Hoare triple {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} is VALID [2022-02-20 23:41:37,638 INFO L290 TraceCheckUtils]: 60: Hoare triple {13501#(and (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|) (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,638 INFO L290 TraceCheckUtils]: 61: Hoare triple {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,639 INFO L290 TraceCheckUtils]: 62: Hoare triple {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,639 INFO L290 TraceCheckUtils]: 63: Hoare triple {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,640 INFO L290 TraceCheckUtils]: 64: Hoare triple {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,640 INFO L290 TraceCheckUtils]: 65: Hoare triple {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,641 INFO L290 TraceCheckUtils]: 66: Hoare triple {13520#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13539#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,641 INFO L290 TraceCheckUtils]: 67: Hoare triple {13539#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13539#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,641 INFO L290 TraceCheckUtils]: 68: Hoare triple {13539#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13539#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:37,642 INFO L290 TraceCheckUtils]: 69: Hoare triple {13539#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 4) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13315#false} is VALID [2022-02-20 23:41:37,642 INFO L290 TraceCheckUtils]: 70: Hoare triple {13315#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13315#false} is VALID [2022-02-20 23:41:37,642 INFO L290 TraceCheckUtils]: 71: Hoare triple {13315#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {13315#false} is VALID [2022-02-20 23:41:37,642 INFO L134 CoverageAnalysis]: Checked inductivity of 118 backedges. 75 proven. 15 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 23:41:37,642 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:38,397 INFO L290 TraceCheckUtils]: 71: Hoare triple {13315#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {13315#false} is VALID [2022-02-20 23:41:38,397 INFO L290 TraceCheckUtils]: 70: Hoare triple {13315#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13315#false} is VALID [2022-02-20 23:41:38,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13315#false} is VALID [2022-02-20 23:41:38,398 INFO L290 TraceCheckUtils]: 68: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:38,399 INFO L290 TraceCheckUtils]: 67: Hoare triple {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:38,399 INFO L290 TraceCheckUtils]: 66: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13326#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:38,399 INFO L290 TraceCheckUtils]: 65: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:38,400 INFO L290 TraceCheckUtils]: 64: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:38,400 INFO L290 TraceCheckUtils]: 63: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:38,400 INFO L290 TraceCheckUtils]: 62: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:38,401 INFO L290 TraceCheckUtils]: 61: Hoare triple {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:38,401 INFO L290 TraceCheckUtils]: 60: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13325#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:38,402 INFO L290 TraceCheckUtils]: 59: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,402 INFO L290 TraceCheckUtils]: 58: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,402 INFO L290 TraceCheckUtils]: 57: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,403 INFO L290 TraceCheckUtils]: 56: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,403 INFO L290 TraceCheckUtils]: 55: Hoare triple {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,404 INFO L290 TraceCheckUtils]: 54: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13324#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,404 INFO L290 TraceCheckUtils]: 53: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,405 INFO L290 TraceCheckUtils]: 52: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,405 INFO L290 TraceCheckUtils]: 51: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,405 INFO L290 TraceCheckUtils]: 50: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,406 INFO L290 TraceCheckUtils]: 49: Hoare triple {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,406 INFO L290 TraceCheckUtils]: 48: Hoare triple {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13323#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,407 INFO L290 TraceCheckUtils]: 47: Hoare triple {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:38,407 INFO L290 TraceCheckUtils]: 46: Hoare triple {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:38,407 INFO L290 TraceCheckUtils]: 45: Hoare triple {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:38,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:38,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:38,408 INFO L290 TraceCheckUtils]: 42: Hoare triple {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {13624#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:38,409 INFO L290 TraceCheckUtils]: 41: Hoare triple {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,409 INFO L290 TraceCheckUtils]: 40: Hoare triple {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,409 INFO L290 TraceCheckUtils]: 39: Hoare triple {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {13643#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:38,410 INFO L290 TraceCheckUtils]: 37: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,411 INFO L290 TraceCheckUtils]: 35: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,411 INFO L290 TraceCheckUtils]: 34: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} havoc main_#t~nondet17#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,412 INFO L290 TraceCheckUtils]: 32: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,412 INFO L290 TraceCheckUtils]: 31: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,413 INFO L290 TraceCheckUtils]: 30: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,413 INFO L290 TraceCheckUtils]: 29: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} havoc main_#t~nondet17#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,414 INFO L290 TraceCheckUtils]: 28: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,414 INFO L290 TraceCheckUtils]: 26: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} havoc main_#t~nondet17#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} havoc main_#t~nondet17#1; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} main_~i~1#1 := 0; {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {13720#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {13656#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5))} is VALID [2022-02-20 23:41:38,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13720#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} havoc main_#t~nondet15#1; {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,421 INFO L290 TraceCheckUtils]: 12: Hoare triple {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13724#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} havoc main_#t~nondet15#1; {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,422 INFO L290 TraceCheckUtils]: 10: Hoare triple {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {13737#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} havoc main_#t~nondet15#1; {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,423 INFO L290 TraceCheckUtils]: 6: Hoare triple {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,425 INFO L290 TraceCheckUtils]: 4: Hoare triple {13314#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {13750#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:38,425 INFO L290 TraceCheckUtils]: 3: Hoare triple {13314#true} assume !(main_~length2~0#1 < 1); {13314#true} is VALID [2022-02-20 23:41:38,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {13314#true} assume !(main_~length1~0#1 < 1); {13314#true} is VALID [2022-02-20 23:41:38,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {13314#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {13314#true} is VALID [2022-02-20 23:41:38,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {13314#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {13314#true} is VALID [2022-02-20 23:41:38,426 INFO L134 CoverageAnalysis]: Checked inductivity of 118 backedges. 75 proven. 15 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 23:41:38,426 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [171994342] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:38,426 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:38,426 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 32 [2022-02-20 23:41:38,426 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1605996567] [2022-02-20 23:41:38,426 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:38,429 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 72 [2022-02-20 23:41:38,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:38,432 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:38,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:38,517 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-02-20 23:41:38,517 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:38,518 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-02-20 23:41:38,518 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=812, Unknown=0, NotChecked=0, Total=992 [2022-02-20 23:41:38,518 INFO L87 Difference]: Start difference. First operand 73 states and 75 transitions. Second operand has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:39,342 INFO L93 Difference]: Finished difference Result 179 states and 183 transitions. [2022-02-20 23:41:39,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 23:41:39,343 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 72 [2022-02-20 23:41:39,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:39,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 119 transitions. [2022-02-20 23:41:39,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 119 transitions. [2022-02-20 23:41:39,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 119 transitions. [2022-02-20 23:41:39,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:39,469 INFO L225 Difference]: With dead ends: 179 [2022-02-20 23:41:39,469 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:41:39,470 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 125 SyntacticMatches, 1 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 611 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=539, Invalid=1813, Unknown=0, NotChecked=0, Total=2352 [2022-02-20 23:41:39,470 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 95 mSDsluCounter, 276 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 95 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 494 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:39,470 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [95 Valid, 296 Invalid, 494 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:41:39,470 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:41:39,471 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-02-20 23:41:39,471 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:39,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 80 states have (on average 1.0375) internal successors, (83), 80 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,472 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 80 states have (on average 1.0375) internal successors, (83), 80 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,472 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 80 states have (on average 1.0375) internal successors, (83), 80 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:39,472 INFO L93 Difference]: Finished difference Result 81 states and 83 transitions. [2022-02-20 23:41:39,472 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 83 transitions. [2022-02-20 23:41:39,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:39,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:39,473 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 80 states have (on average 1.0375) internal successors, (83), 80 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 81 states. [2022-02-20 23:41:39,473 INFO L87 Difference]: Start difference. First operand has 81 states, 80 states have (on average 1.0375) internal successors, (83), 80 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 81 states. [2022-02-20 23:41:39,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:39,474 INFO L93 Difference]: Finished difference Result 81 states and 83 transitions. [2022-02-20 23:41:39,474 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 83 transitions. [2022-02-20 23:41:39,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:39,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:39,474 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:39,474 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:39,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 80 states have (on average 1.0375) internal successors, (83), 80 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 83 transitions. [2022-02-20 23:41:39,475 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 83 transitions. Word has length 72 [2022-02-20 23:41:39,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:39,475 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 83 transitions. [2022-02-20 23:41:39,475 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 4.65625) internal successors, (149), 32 states have internal predecessors, (149), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:39,476 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 83 transitions. [2022-02-20 23:41:39,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-02-20 23:41:39,476 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:39,476 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:39,495 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:39,693 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-02-20 23:41:39,693 INFO L402 AbstractCegarLoop]: === Iteration 38 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:39,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:39,693 INFO L85 PathProgramCache]: Analyzing trace with hash -618201744, now seen corresponding path program 7 times [2022-02-20 23:41:39,693 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:39,693 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [727249575] [2022-02-20 23:41:39,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:39,694 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:39,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:40,360 INFO L290 TraceCheckUtils]: 0: Hoare triple {14230#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14230#true} is VALID [2022-02-20 23:41:40,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {14230#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {14230#true} is VALID [2022-02-20 23:41:40,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {14230#true} assume !(main_~length1~0#1 < 1); {14230#true} is VALID [2022-02-20 23:41:40,360 INFO L290 TraceCheckUtils]: 3: Hoare triple {14230#true} assume !(main_~length2~0#1 < 1); {14230#true} is VALID [2022-02-20 23:41:40,361 INFO L290 TraceCheckUtils]: 4: Hoare triple {14230#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,361 INFO L290 TraceCheckUtils]: 5: Hoare triple {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,362 INFO L290 TraceCheckUtils]: 6: Hoare triple {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {14232#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:40,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:40,364 INFO L290 TraceCheckUtils]: 10: Hoare triple {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:40,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet15#1; {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:40,365 INFO L290 TraceCheckUtils]: 12: Hoare triple {14233#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:40,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:40,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:40,366 INFO L290 TraceCheckUtils]: 15: Hoare triple {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet15#1; {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:40,366 INFO L290 TraceCheckUtils]: 16: Hoare triple {14234#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {14235#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} is VALID [2022-02-20 23:41:40,369 INFO L290 TraceCheckUtils]: 21: Hoare triple {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} is VALID [2022-02-20 23:41:40,370 INFO L290 TraceCheckUtils]: 22: Hoare triple {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} is VALID [2022-02-20 23:41:40,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} havoc main_#t~nondet15#1; {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} is VALID [2022-02-20 23:41:40,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {14236#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1)) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 4)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~0#1| 4) (<= 4 |ULTIMATE.start_main_~i~0#1|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14237#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {14237#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {14237#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {14237#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,374 INFO L290 TraceCheckUtils]: 28: Hoare triple {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {14238#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,376 INFO L290 TraceCheckUtils]: 32: Hoare triple {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,376 INFO L290 TraceCheckUtils]: 33: Hoare triple {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,377 INFO L290 TraceCheckUtils]: 34: Hoare triple {14239#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,378 INFO L290 TraceCheckUtils]: 36: Hoare triple {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,379 INFO L290 TraceCheckUtils]: 38: Hoare triple {14240#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14241#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {14241#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14242#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {14242#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14242#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,381 INFO L290 TraceCheckUtils]: 41: Hoare triple {14242#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {14242#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,382 INFO L290 TraceCheckUtils]: 42: Hoare triple {14242#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14243#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {14243#(and (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {14244#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:40,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {14244#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {14244#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} is VALID [2022-02-20 23:41:40,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {14244#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {14245#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:40,384 INFO L290 TraceCheckUtils]: 46: Hoare triple {14245#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {14246#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:40,385 INFO L290 TraceCheckUtils]: 47: Hoare triple {14246#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14246#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:40,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {14246#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 4) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14247#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:40,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {14247#(and (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14248#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:40,386 INFO L290 TraceCheckUtils]: 50: Hoare triple {14248#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14249#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:41:40,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {14249#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0) (< |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,387 INFO L290 TraceCheckUtils]: 52: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,388 INFO L290 TraceCheckUtils]: 53: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,389 INFO L290 TraceCheckUtils]: 54: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,389 INFO L290 TraceCheckUtils]: 55: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,390 INFO L290 TraceCheckUtils]: 56: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,390 INFO L290 TraceCheckUtils]: 57: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,390 INFO L290 TraceCheckUtils]: 58: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:40,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:40,392 INFO L290 TraceCheckUtils]: 61: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:40,392 INFO L290 TraceCheckUtils]: 62: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:40,392 INFO L290 TraceCheckUtils]: 63: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:40,392 INFO L290 TraceCheckUtils]: 64: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:40,393 INFO L290 TraceCheckUtils]: 65: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:40,393 INFO L290 TraceCheckUtils]: 66: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:40,394 INFO L290 TraceCheckUtils]: 67: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:40,394 INFO L290 TraceCheckUtils]: 68: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:40,394 INFO L290 TraceCheckUtils]: 69: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:40,394 INFO L290 TraceCheckUtils]: 70: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:40,395 INFO L290 TraceCheckUtils]: 71: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14254#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:40,395 INFO L290 TraceCheckUtils]: 72: Hoare triple {14254#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14255#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:40,396 INFO L290 TraceCheckUtils]: 73: Hoare triple {14255#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14256#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:40,396 INFO L290 TraceCheckUtils]: 74: Hoare triple {14256#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14257#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:40,397 INFO L290 TraceCheckUtils]: 75: Hoare triple {14257#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14258#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:40,397 INFO L290 TraceCheckUtils]: 76: Hoare triple {14258#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14231#false} is VALID [2022-02-20 23:41:40,397 INFO L290 TraceCheckUtils]: 77: Hoare triple {14231#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14231#false} is VALID [2022-02-20 23:41:40,397 INFO L290 TraceCheckUtils]: 78: Hoare triple {14231#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14231#false} is VALID [2022-02-20 23:41:40,397 INFO L290 TraceCheckUtils]: 79: Hoare triple {14231#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {14231#false} is VALID [2022-02-20 23:41:40,397 INFO L134 CoverageAnalysis]: Checked inductivity of 148 backedges. 15 proven. 133 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:40,398 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:40,398 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [727249575] [2022-02-20 23:41:40,398 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [727249575] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:40,398 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [826366414] [2022-02-20 23:41:40,398 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 23:41:40,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:40,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:40,399 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:40,400 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-02-20 23:41:40,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:40,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 412 conjuncts, 126 conjunts are in the unsatisfiable core [2022-02-20 23:41:40,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:40,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:40,935 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 14 treesize of output 10 [2022-02-20 23:41:41,503 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:41:41,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {14230#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14230#true} is VALID [2022-02-20 23:41:41,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {14230#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {14230#true} is VALID [2022-02-20 23:41:41,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {14230#true} assume !(main_~length1~0#1 < 1); {14230#true} is VALID [2022-02-20 23:41:41,510 INFO L290 TraceCheckUtils]: 3: Hoare triple {14230#true} assume !(main_~length2~0#1 < 1); {14230#true} is VALID [2022-02-20 23:41:41,511 INFO L290 TraceCheckUtils]: 4: Hoare triple {14230#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:41:41,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:41:41,511 INFO L290 TraceCheckUtils]: 6: Hoare triple {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:41:41,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} havoc main_#t~nondet15#1; {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:41:41,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {14274#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,513 INFO L290 TraceCheckUtils]: 10: Hoare triple {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet15#1; {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,513 INFO L290 TraceCheckUtils]: 12: Hoare triple {14287#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:41,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:41,514 INFO L290 TraceCheckUtils]: 14: Hoare triple {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:41,514 INFO L290 TraceCheckUtils]: 15: Hoare triple {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet15#1; {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:41,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {14300#(= 2 |ULTIMATE.start_main_~i~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,515 INFO L290 TraceCheckUtils]: 17: Hoare triple {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,515 INFO L290 TraceCheckUtils]: 18: Hoare triple {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet15#1; {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {14313#(= 2 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {14230#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14230#true} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {14230#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14230#true} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 23: Hoare triple {14230#true} havoc main_#t~nondet15#1; {14230#true} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {14230#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {14230#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {14230#true} is VALID [2022-02-20 23:41:41,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {14230#true} main_~i~1#1 := 0; {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:41,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:41,517 INFO L290 TraceCheckUtils]: 28: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:41,517 INFO L290 TraceCheckUtils]: 29: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~nondet17#1; {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:41,518 INFO L290 TraceCheckUtils]: 30: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:41,518 INFO L290 TraceCheckUtils]: 31: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:41,518 INFO L290 TraceCheckUtils]: 32: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:41,519 INFO L290 TraceCheckUtils]: 33: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} havoc main_#t~nondet17#1; {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:41,519 INFO L290 TraceCheckUtils]: 34: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:41,519 INFO L290 TraceCheckUtils]: 35: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:41,520 INFO L290 TraceCheckUtils]: 36: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:41,520 INFO L290 TraceCheckUtils]: 37: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} havoc main_#t~nondet17#1; {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:41,520 INFO L290 TraceCheckUtils]: 38: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14383#(= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:41,521 INFO L290 TraceCheckUtils]: 39: Hoare triple {14383#(= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14387#(and (= 3 |ULTIMATE.start_main_~i~1#1|) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:41,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {14387#(and (= 3 |ULTIMATE.start_main_~i~1#1|) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14387#(and (= 3 |ULTIMATE.start_main_~i~1#1|) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:41,522 INFO L290 TraceCheckUtils]: 41: Hoare triple {14387#(and (= 3 |ULTIMATE.start_main_~i~1#1|) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet17#1; {14387#(and (= 3 |ULTIMATE.start_main_~i~1#1|) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:41,522 INFO L290 TraceCheckUtils]: 42: Hoare triple {14387#(and (= 3 |ULTIMATE.start_main_~i~1#1|) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14397#(and (< 4 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 4))} is VALID [2022-02-20 23:41:41,522 INFO L290 TraceCheckUtils]: 43: Hoare triple {14397#(and (< 4 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 4))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:41,523 INFO L290 TraceCheckUtils]: 44: Hoare triple {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:41,524 INFO L290 TraceCheckUtils]: 45: Hoare triple {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {14408#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:41,524 INFO L290 TraceCheckUtils]: 46: Hoare triple {14408#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {14412#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)))} is VALID [2022-02-20 23:41:41,525 INFO L290 TraceCheckUtils]: 47: Hoare triple {14412#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14412#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)))} is VALID [2022-02-20 23:41:41,525 INFO L290 TraceCheckUtils]: 48: Hoare triple {14412#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,526 INFO L290 TraceCheckUtils]: 49: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,526 INFO L290 TraceCheckUtils]: 50: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,527 INFO L290 TraceCheckUtils]: 51: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,527 INFO L290 TraceCheckUtils]: 52: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,528 INFO L290 TraceCheckUtils]: 53: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,528 INFO L290 TraceCheckUtils]: 54: Hoare triple {14250#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,529 INFO L290 TraceCheckUtils]: 55: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,529 INFO L290 TraceCheckUtils]: 56: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,529 INFO L290 TraceCheckUtils]: 57: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,530 INFO L290 TraceCheckUtils]: 58: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,530 INFO L290 TraceCheckUtils]: 59: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:41,531 INFO L290 TraceCheckUtils]: 60: Hoare triple {14251#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:41,531 INFO L290 TraceCheckUtils]: 61: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:41,531 INFO L290 TraceCheckUtils]: 62: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:41,532 INFO L290 TraceCheckUtils]: 63: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:41,532 INFO L290 TraceCheckUtils]: 64: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:41,532 INFO L290 TraceCheckUtils]: 65: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:41,533 INFO L290 TraceCheckUtils]: 66: Hoare triple {14252#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:41,533 INFO L290 TraceCheckUtils]: 67: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:41,533 INFO L290 TraceCheckUtils]: 68: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:41,534 INFO L290 TraceCheckUtils]: 69: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:41,534 INFO L290 TraceCheckUtils]: 70: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:41,535 INFO L290 TraceCheckUtils]: 71: Hoare triple {14253#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14254#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:41,535 INFO L290 TraceCheckUtils]: 72: Hoare triple {14254#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14255#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:41,536 INFO L290 TraceCheckUtils]: 73: Hoare triple {14255#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14494#(and (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:41,536 INFO L290 TraceCheckUtils]: 74: Hoare triple {14494#(and (exists ((|ULTIMATE.start_cstrcmp_#t~post2#1.offset| Int) (|ULTIMATE.start_cstrcmp_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem4#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14257#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:41,537 INFO L290 TraceCheckUtils]: 75: Hoare triple {14257#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14258#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:41,537 INFO L290 TraceCheckUtils]: 76: Hoare triple {14258#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14231#false} is VALID [2022-02-20 23:41:41,537 INFO L290 TraceCheckUtils]: 77: Hoare triple {14231#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14231#false} is VALID [2022-02-20 23:41:41,537 INFO L290 TraceCheckUtils]: 78: Hoare triple {14231#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14231#false} is VALID [2022-02-20 23:41:41,537 INFO L290 TraceCheckUtils]: 79: Hoare triple {14231#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {14231#false} is VALID [2022-02-20 23:41:41,538 INFO L134 CoverageAnalysis]: Checked inductivity of 148 backedges. 15 proven. 132 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:41,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:42,253 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:42,253 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 103 treesize of output 103 [2022-02-20 23:41:42,336 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 40 treesize of output 36 [2022-02-20 23:41:42,353 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:41:42,354 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 60 treesize of output 56 [2022-02-20 23:41:42,718 INFO L290 TraceCheckUtils]: 79: Hoare triple {14231#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {14231#false} is VALID [2022-02-20 23:41:42,719 INFO L290 TraceCheckUtils]: 78: Hoare triple {14231#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14231#false} is VALID [2022-02-20 23:41:42,719 INFO L290 TraceCheckUtils]: 77: Hoare triple {14231#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14231#false} is VALID [2022-02-20 23:41:42,719 INFO L290 TraceCheckUtils]: 76: Hoare triple {14258#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14231#false} is VALID [2022-02-20 23:41:42,720 INFO L290 TraceCheckUtils]: 75: Hoare triple {14257#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14258#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:42,720 INFO L290 TraceCheckUtils]: 74: Hoare triple {14528#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14257#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:42,721 INFO L290 TraceCheckUtils]: 73: Hoare triple {14532#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14528#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem4#1| |ULTIMATE.start_cstrcmp_#t~mem3#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:42,722 INFO L290 TraceCheckUtils]: 72: Hoare triple {14536#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14532#(or (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0))} is VALID [2022-02-20 23:41:42,722 INFO L290 TraceCheckUtils]: 71: Hoare triple {14540#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14536#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:42,723 INFO L290 TraceCheckUtils]: 70: Hoare triple {14540#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14540#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:42,723 INFO L290 TraceCheckUtils]: 69: Hoare triple {14540#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14540#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:42,724 INFO L290 TraceCheckUtils]: 68: Hoare triple {14550#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14540#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|))))} is VALID [2022-02-20 23:41:42,725 INFO L290 TraceCheckUtils]: 67: Hoare triple {14550#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14550#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:42,725 INFO L290 TraceCheckUtils]: 66: Hoare triple {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14550#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:42,726 INFO L290 TraceCheckUtils]: 65: Hoare triple {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:42,727 INFO L290 TraceCheckUtils]: 64: Hoare triple {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:42,727 INFO L290 TraceCheckUtils]: 63: Hoare triple {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:42,728 INFO L290 TraceCheckUtils]: 62: Hoare triple {14570#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14557#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1)))))} is VALID [2022-02-20 23:41:42,729 INFO L290 TraceCheckUtils]: 61: Hoare triple {14570#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14570#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:42,729 INFO L290 TraceCheckUtils]: 60: Hoare triple {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14570#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:42,730 INFO L290 TraceCheckUtils]: 59: Hoare triple {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:42,730 INFO L290 TraceCheckUtils]: 58: Hoare triple {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:42,731 INFO L290 TraceCheckUtils]: 57: Hoare triple {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:42,731 INFO L290 TraceCheckUtils]: 56: Hoare triple {14590#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14577#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) 0))} is VALID [2022-02-20 23:41:42,732 INFO L290 TraceCheckUtils]: 55: Hoare triple {14590#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14590#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} is VALID [2022-02-20 23:41:42,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14590#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} is VALID [2022-02-20 23:41:42,733 INFO L290 TraceCheckUtils]: 53: Hoare triple {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} is VALID [2022-02-20 23:41:42,734 INFO L290 TraceCheckUtils]: 52: Hoare triple {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} is VALID [2022-02-20 23:41:42,734 INFO L290 TraceCheckUtils]: 51: Hoare triple {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} is VALID [2022-02-20 23:41:42,735 INFO L290 TraceCheckUtils]: 50: Hoare triple {14610#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {14597#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|)))) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))))} is VALID [2022-02-20 23:41:42,736 INFO L290 TraceCheckUtils]: 49: Hoare triple {14610#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {14610#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} is VALID [2022-02-20 23:41:42,736 INFO L290 TraceCheckUtils]: 48: Hoare triple {14617#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {14610#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} is VALID [2022-02-20 23:41:42,737 INFO L290 TraceCheckUtils]: 47: Hoare triple {14617#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {14617#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} is VALID [2022-02-20 23:41:42,738 INFO L290 TraceCheckUtils]: 46: Hoare triple {14624#(forall ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))))))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {14617#(or (not (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)))) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4)) 0))} is VALID [2022-02-20 23:41:42,739 INFO L290 TraceCheckUtils]: 45: Hoare triple {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {14624#(forall ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4)) 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4))))))} is VALID [2022-02-20 23:41:42,739 INFO L290 TraceCheckUtils]: 44: Hoare triple {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:42,739 INFO L290 TraceCheckUtils]: 43: Hoare triple {14634#(or (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {14401#(and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:42,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {14638#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14634#(or (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:42,740 INFO L290 TraceCheckUtils]: 41: Hoare triple {14638#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet17#1; {14638#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:42,741 INFO L290 TraceCheckUtils]: 40: Hoare triple {14638#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14638#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:42,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {14383#(= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14638#(or (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (and (<= |ULTIMATE.start_main_~length2~0#1| 5) (< 4 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:42,742 INFO L290 TraceCheckUtils]: 38: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14383#(= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:42,742 INFO L290 TraceCheckUtils]: 37: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} havoc main_#t~nondet17#1; {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:42,742 INFO L290 TraceCheckUtils]: 36: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:42,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:42,743 INFO L290 TraceCheckUtils]: 34: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14370#(= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 1)} is VALID [2022-02-20 23:41:42,743 INFO L290 TraceCheckUtils]: 33: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} havoc main_#t~nondet17#1; {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:42,744 INFO L290 TraceCheckUtils]: 32: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:42,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:42,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {14357#(= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:41:42,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~nondet17#1; {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:42,745 INFO L290 TraceCheckUtils]: 28: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:42,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:42,745 INFO L290 TraceCheckUtils]: 26: Hoare triple {14230#true} main_~i~1#1 := 0; {14344#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {14230#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 24: Hoare triple {14230#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {14230#true} havoc main_#t~nondet15#1; {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 22: Hoare triple {14230#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 21: Hoare triple {14230#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 20: Hoare triple {14230#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 19: Hoare triple {14230#true} havoc main_#t~nondet15#1; {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 18: Hoare triple {14230#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 17: Hoare triple {14230#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14230#true} is VALID [2022-02-20 23:41:42,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {14230#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {14230#true} havoc main_#t~nondet15#1; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {14230#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {14230#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {14230#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {14230#true} havoc main_#t~nondet15#1; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 10: Hoare triple {14230#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {14230#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {14230#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {14230#true} havoc main_#t~nondet15#1; {14230#true} is VALID [2022-02-20 23:41:42,747 INFO L290 TraceCheckUtils]: 6: Hoare triple {14230#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {14230#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L290 TraceCheckUtils]: 4: Hoare triple {14230#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {14230#true} assume !(main_~length2~0#1 < 1); {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {14230#true} assume !(main_~length1~0#1 < 1); {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {14230#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {14230#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14230#true} is VALID [2022-02-20 23:41:42,748 INFO L134 CoverageAnalysis]: Checked inductivity of 148 backedges. 15 proven. 88 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:42,749 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [826366414] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:42,749 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:42,749 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 24, 24] total 58 [2022-02-20 23:41:42,749 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [601780440] [2022-02-20 23:41:42,749 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:42,750 INFO L78 Accepts]: Start accepts. Automaton has has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 80 [2022-02-20 23:41:42,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:42,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:42,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:42,875 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 58 states [2022-02-20 23:41:42,875 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:42,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2022-02-20 23:41:42,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=181, Invalid=3125, Unknown=0, NotChecked=0, Total=3306 [2022-02-20 23:41:42,876 INFO L87 Difference]: Start difference. First operand 81 states and 83 transitions. Second operand has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:46,827 INFO L93 Difference]: Finished difference Result 124 states and 126 transitions. [2022-02-20 23:41:46,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-02-20 23:41:46,828 INFO L78 Accepts]: Start accepts. Automaton has has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 80 [2022-02-20 23:41:46,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:46,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 100 transitions. [2022-02-20 23:41:46,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 100 transitions. [2022-02-20 23:41:46,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 100 transitions. [2022-02-20 23:41:46,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:46,893 INFO L225 Difference]: With dead ends: 124 [2022-02-20 23:41:46,893 INFO L226 Difference]: Without dead ends: 91 [2022-02-20 23:41:46,895 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 213 GetRequests, 128 SyntacticMatches, 6 SemanticMatches, 79 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1349 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=537, Invalid=5943, Unknown=0, NotChecked=0, Total=6480 [2022-02-20 23:41:46,895 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 310 mSDsluCounter, 749 mSDsCounter, 0 mSdLazyCounter, 1861 mSolverCounterSat, 77 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 310 SdHoareTripleChecker+Valid, 773 SdHoareTripleChecker+Invalid, 2090 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 1861 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 152 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:46,895 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [310 Valid, 773 Invalid, 2090 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 1861 Invalid, 0 Unknown, 152 Unchecked, 1.4s Time] [2022-02-20 23:41:46,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-02-20 23:41:46,896 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 85. [2022-02-20 23:41:46,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:46,897 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 85 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 84 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,897 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 85 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 84 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,897 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 85 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 84 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:46,898 INFO L93 Difference]: Finished difference Result 91 states and 93 transitions. [2022-02-20 23:41:46,898 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 93 transitions. [2022-02-20 23:41:46,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:46,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:46,898 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 84 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 91 states. [2022-02-20 23:41:46,898 INFO L87 Difference]: Start difference. First operand has 85 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 84 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 91 states. [2022-02-20 23:41:46,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:46,899 INFO L93 Difference]: Finished difference Result 91 states and 93 transitions. [2022-02-20 23:41:46,899 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 93 transitions. [2022-02-20 23:41:46,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:46,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:46,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:46,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:46,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 84 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 87 transitions. [2022-02-20 23:41:46,900 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 87 transitions. Word has length 80 [2022-02-20 23:41:46,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:46,900 INFO L470 AbstractCegarLoop]: Abstraction has 85 states and 87 transitions. [2022-02-20 23:41:46,901 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 58 states, 58 states have (on average 2.8620689655172415) internal successors, (166), 58 states have internal predecessors, (166), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:46,901 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 87 transitions. [2022-02-20 23:41:46,901 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-02-20 23:41:46,901 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:46,901 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:46,919 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:47,119 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable37 [2022-02-20 23:41:47,119 INFO L402 AbstractCegarLoop]: === Iteration 39 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:47,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:47,119 INFO L85 PathProgramCache]: Analyzing trace with hash -704234675, now seen corresponding path program 8 times [2022-02-20 23:41:47,119 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:47,119 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [749217253] [2022-02-20 23:41:47,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:47,119 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:47,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:47,413 INFO L290 TraceCheckUtils]: 0: Hoare triple {15201#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {15201#true} is VALID [2022-02-20 23:41:47,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {15201#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {15201#true} is VALID [2022-02-20 23:41:47,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {15201#true} assume !(main_~length1~0#1 < 1); {15201#true} is VALID [2022-02-20 23:41:47,413 INFO L290 TraceCheckUtils]: 3: Hoare triple {15201#true} assume !(main_~length2~0#1 < 1); {15201#true} is VALID [2022-02-20 23:41:47,414 INFO L290 TraceCheckUtils]: 4: Hoare triple {15201#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,415 INFO L290 TraceCheckUtils]: 6: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,417 INFO L290 TraceCheckUtils]: 10: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,418 INFO L290 TraceCheckUtils]: 12: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,418 INFO L290 TraceCheckUtils]: 13: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,420 INFO L290 TraceCheckUtils]: 19: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,421 INFO L290 TraceCheckUtils]: 21: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet15#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,423 INFO L290 TraceCheckUtils]: 26: Hoare triple {15203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,424 INFO L290 TraceCheckUtils]: 27: Hoare triple {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,424 INFO L290 TraceCheckUtils]: 28: Hoare triple {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,425 INFO L290 TraceCheckUtils]: 29: Hoare triple {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,425 INFO L290 TraceCheckUtils]: 30: Hoare triple {15204#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} is VALID [2022-02-20 23:41:47,425 INFO L290 TraceCheckUtils]: 31: Hoare triple {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} is VALID [2022-02-20 23:41:47,426 INFO L290 TraceCheckUtils]: 32: Hoare triple {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} is VALID [2022-02-20 23:41:47,426 INFO L290 TraceCheckUtils]: 33: Hoare triple {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} havoc main_#t~nondet17#1; {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} is VALID [2022-02-20 23:41:47,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {15205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,428 INFO L290 TraceCheckUtils]: 36: Hoare triple {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,428 INFO L290 TraceCheckUtils]: 37: Hoare triple {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} havoc main_#t~nondet17#1; {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,429 INFO L290 TraceCheckUtils]: 38: Hoare triple {15206#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,429 INFO L290 TraceCheckUtils]: 39: Hoare triple {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,430 INFO L290 TraceCheckUtils]: 41: Hoare triple {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} havoc main_#t~nondet17#1; {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:41:47,431 INFO L290 TraceCheckUtils]: 42: Hoare triple {15207#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 3) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15208#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 4) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} is VALID [2022-02-20 23:41:47,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {15208#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 4) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,432 INFO L290 TraceCheckUtils]: 44: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,432 INFO L290 TraceCheckUtils]: 45: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet17#1; {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,432 INFO L290 TraceCheckUtils]: 46: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,433 INFO L290 TraceCheckUtils]: 48: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,434 INFO L290 TraceCheckUtils]: 49: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:47,434 INFO L290 TraceCheckUtils]: 50: Hoare triple {15209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {15210#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {15210#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15210#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {15210#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= 6 (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15211#(and (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,436 INFO L290 TraceCheckUtils]: 53: Hoare triple {15211#(and (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,436 INFO L290 TraceCheckUtils]: 54: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,437 INFO L290 TraceCheckUtils]: 55: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,437 INFO L290 TraceCheckUtils]: 56: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,437 INFO L290 TraceCheckUtils]: 57: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,438 INFO L290 TraceCheckUtils]: 58: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,438 INFO L290 TraceCheckUtils]: 59: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,439 INFO L290 TraceCheckUtils]: 61: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,440 INFO L290 TraceCheckUtils]: 62: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,440 INFO L290 TraceCheckUtils]: 63: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,441 INFO L290 TraceCheckUtils]: 64: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,442 INFO L290 TraceCheckUtils]: 66: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,442 INFO L290 TraceCheckUtils]: 67: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,442 INFO L290 TraceCheckUtils]: 68: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,443 INFO L290 TraceCheckUtils]: 69: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,443 INFO L290 TraceCheckUtils]: 70: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,444 INFO L290 TraceCheckUtils]: 71: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,444 INFO L290 TraceCheckUtils]: 72: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,445 INFO L290 TraceCheckUtils]: 73: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,445 INFO L290 TraceCheckUtils]: 74: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,446 INFO L290 TraceCheckUtils]: 75: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:47,446 INFO L290 TraceCheckUtils]: 76: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,447 INFO L290 TraceCheckUtils]: 77: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,447 INFO L290 TraceCheckUtils]: 78: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,447 INFO L290 TraceCheckUtils]: 79: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,448 INFO L290 TraceCheckUtils]: 80: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,448 INFO L290 TraceCheckUtils]: 81: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:47,449 INFO L290 TraceCheckUtils]: 82: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15217#(and (<= 5 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} is VALID [2022-02-20 23:41:47,449 INFO L290 TraceCheckUtils]: 83: Hoare triple {15217#(and (<= 5 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {15202#false} is VALID [2022-02-20 23:41:47,450 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 15 proven. 105 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:47,450 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:47,450 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [749217253] [2022-02-20 23:41:47,450 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [749217253] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:47,450 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1202934828] [2022-02-20 23:41:47,450 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:41:47,450 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:47,450 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:47,451 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:47,468 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-02-20 23:41:47,597 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:41:47,597 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:47,599 INFO L263 TraceCheckSpWp]: Trace formula consists of 426 conjuncts, 60 conjunts are in the unsatisfiable core [2022-02-20 23:41:47,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:47,616 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:48,185 INFO L290 TraceCheckUtils]: 0: Hoare triple {15201#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {15201#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {15201#true} assume !(main_~length1~0#1 < 1); {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 3: Hoare triple {15201#true} assume !(main_~length2~0#1 < 1); {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 4: Hoare triple {15201#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 10: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 11: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 12: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 13: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 16: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 17: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 21: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,188 INFO L290 TraceCheckUtils]: 22: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,189 INFO L290 TraceCheckUtils]: 23: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,189 INFO L290 TraceCheckUtils]: 24: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {15201#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {15201#true} is VALID [2022-02-20 23:41:48,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {15201#true} main_~i~1#1 := 0; {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,190 INFO L290 TraceCheckUtils]: 28: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,190 INFO L290 TraceCheckUtils]: 29: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,190 INFO L290 TraceCheckUtils]: 30: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,191 INFO L290 TraceCheckUtils]: 32: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,191 INFO L290 TraceCheckUtils]: 33: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,192 INFO L290 TraceCheckUtils]: 35: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,192 INFO L290 TraceCheckUtils]: 37: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,193 INFO L290 TraceCheckUtils]: 38: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,193 INFO L290 TraceCheckUtils]: 39: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,193 INFO L290 TraceCheckUtils]: 40: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,193 INFO L290 TraceCheckUtils]: 41: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,194 INFO L290 TraceCheckUtils]: 42: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15351#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {15351#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,194 INFO L290 TraceCheckUtils]: 44: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,195 INFO L290 TraceCheckUtils]: 45: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,195 INFO L290 TraceCheckUtils]: 46: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,195 INFO L290 TraceCheckUtils]: 47: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,196 INFO L290 TraceCheckUtils]: 48: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,196 INFO L290 TraceCheckUtils]: 49: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {15374#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 5) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} is VALID [2022-02-20 23:41:48,197 INFO L290 TraceCheckUtils]: 50: Hoare triple {15374#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 5) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {15378#(< (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:48,197 INFO L290 TraceCheckUtils]: 51: Hoare triple {15378#(< (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15378#(< (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} is VALID [2022-02-20 23:41:48,197 INFO L290 TraceCheckUtils]: 52: Hoare triple {15378#(< (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15385#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (< (+ 5 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,198 INFO L290 TraceCheckUtils]: 53: Hoare triple {15385#(and (= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) |ULTIMATE.start_cstrcmp_~s2#1.offset|) (< (+ 5 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,198 INFO L290 TraceCheckUtils]: 54: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,199 INFO L290 TraceCheckUtils]: 55: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,199 INFO L290 TraceCheckUtils]: 56: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,200 INFO L290 TraceCheckUtils]: 57: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,200 INFO L290 TraceCheckUtils]: 58: Hoare triple {15212#(and (<= 1 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,201 INFO L290 TraceCheckUtils]: 59: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,201 INFO L290 TraceCheckUtils]: 60: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,201 INFO L290 TraceCheckUtils]: 61: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,202 INFO L290 TraceCheckUtils]: 62: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,202 INFO L290 TraceCheckUtils]: 63: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,203 INFO L290 TraceCheckUtils]: 64: Hoare triple {15213#(and (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,203 INFO L290 TraceCheckUtils]: 65: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,204 INFO L290 TraceCheckUtils]: 66: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,204 INFO L290 TraceCheckUtils]: 67: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,204 INFO L290 TraceCheckUtils]: 68: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,205 INFO L290 TraceCheckUtils]: 69: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,205 INFO L290 TraceCheckUtils]: 70: Hoare triple {15214#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,206 INFO L290 TraceCheckUtils]: 71: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,206 INFO L290 TraceCheckUtils]: 72: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,206 INFO L290 TraceCheckUtils]: 73: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,207 INFO L290 TraceCheckUtils]: 74: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,207 INFO L290 TraceCheckUtils]: 75: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} is VALID [2022-02-20 23:41:48,208 INFO L290 TraceCheckUtils]: 76: Hoare triple {15215#(and (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 4 |ULTIMATE.start_cstrcmp_~s2#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,208 INFO L290 TraceCheckUtils]: 77: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,208 INFO L290 TraceCheckUtils]: 78: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,209 INFO L290 TraceCheckUtils]: 79: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,209 INFO L290 TraceCheckUtils]: 80: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,210 INFO L290 TraceCheckUtils]: 81: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,210 INFO L290 TraceCheckUtils]: 82: Hoare triple {15216#(and (<= 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15217#(and (<= 5 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} is VALID [2022-02-20 23:41:48,210 INFO L290 TraceCheckUtils]: 83: Hoare triple {15217#(and (<= 5 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {15202#false} is VALID [2022-02-20 23:41:48,211 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 28 proven. 92 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:48,211 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:48,750 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 5 treesize of output 3 [2022-02-20 23:41:48,903 INFO L290 TraceCheckUtils]: 83: Hoare triple {15479#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {15202#false} is VALID [2022-02-20 23:41:48,903 INFO L290 TraceCheckUtils]: 82: Hoare triple {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15479#(and (<= (+ |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_#t~post2#1.base|)) (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|))} is VALID [2022-02-20 23:41:48,904 INFO L290 TraceCheckUtils]: 81: Hoare triple {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,904 INFO L290 TraceCheckUtils]: 80: Hoare triple {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,905 INFO L290 TraceCheckUtils]: 79: Hoare triple {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,905 INFO L290 TraceCheckUtils]: 78: Hoare triple {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,905 INFO L290 TraceCheckUtils]: 77: Hoare triple {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,906 INFO L290 TraceCheckUtils]: 76: Hoare triple {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15483#(and (<= 0 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,906 INFO L290 TraceCheckUtils]: 75: Hoare triple {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,907 INFO L290 TraceCheckUtils]: 74: Hoare triple {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,907 INFO L290 TraceCheckUtils]: 73: Hoare triple {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,907 INFO L290 TraceCheckUtils]: 72: Hoare triple {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,908 INFO L290 TraceCheckUtils]: 71: Hoare triple {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,908 INFO L290 TraceCheckUtils]: 70: Hoare triple {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15502#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,909 INFO L290 TraceCheckUtils]: 69: Hoare triple {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} is VALID [2022-02-20 23:41:48,909 INFO L290 TraceCheckUtils]: 68: Hoare triple {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} is VALID [2022-02-20 23:41:48,910 INFO L290 TraceCheckUtils]: 67: Hoare triple {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} is VALID [2022-02-20 23:41:48,910 INFO L290 TraceCheckUtils]: 66: Hoare triple {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} is VALID [2022-02-20 23:41:48,910 INFO L290 TraceCheckUtils]: 65: Hoare triple {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} is VALID [2022-02-20 23:41:48,911 INFO L290 TraceCheckUtils]: 64: Hoare triple {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15521#(and (<= (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)))} is VALID [2022-02-20 23:41:48,911 INFO L290 TraceCheckUtils]: 63: Hoare triple {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,912 INFO L290 TraceCheckUtils]: 62: Hoare triple {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,912 INFO L290 TraceCheckUtils]: 61: Hoare triple {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,912 INFO L290 TraceCheckUtils]: 60: Hoare triple {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,913 INFO L290 TraceCheckUtils]: 59: Hoare triple {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,913 INFO L290 TraceCheckUtils]: 58: Hoare triple {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15540#(and (<= 0 (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) (<= (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,914 INFO L290 TraceCheckUtils]: 57: Hoare triple {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,914 INFO L290 TraceCheckUtils]: 56: Hoare triple {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,915 INFO L290 TraceCheckUtils]: 55: Hoare triple {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,915 INFO L290 TraceCheckUtils]: 54: Hoare triple {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,915 INFO L290 TraceCheckUtils]: 53: Hoare triple {15575#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {15559#(and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,916 INFO L290 TraceCheckUtils]: 52: Hoare triple {15579#(or (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (+ 6 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {15575#(or (and (<= 0 (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) (<= (+ 5 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|))) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post2#1.offset|)))} is VALID [2022-02-20 23:41:48,916 INFO L290 TraceCheckUtils]: 51: Hoare triple {15579#(or (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (+ 6 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {15579#(or (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (+ 6 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,917 INFO L290 TraceCheckUtils]: 50: Hoare triple {15586#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 6) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {15579#(or (< |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (<= (+ 6 |ULTIMATE.start_cstrcmp_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrcmp_~s2#1.base|)))} is VALID [2022-02-20 23:41:48,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {15586#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 6) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:48,918 INFO L290 TraceCheckUtils]: 48: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,918 INFO L290 TraceCheckUtils]: 47: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,918 INFO L290 TraceCheckUtils]: 46: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,918 INFO L290 TraceCheckUtils]: 45: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet17#1; {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {15351#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15355#(< 5 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:48,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15351#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,920 INFO L290 TraceCheckUtils]: 39: Hoare triple {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,921 INFO L290 TraceCheckUtils]: 38: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15338#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,921 INFO L290 TraceCheckUtils]: 37: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,921 INFO L290 TraceCheckUtils]: 36: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,921 INFO L290 TraceCheckUtils]: 35: Hoare triple {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,922 INFO L290 TraceCheckUtils]: 34: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15325#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,922 INFO L290 TraceCheckUtils]: 33: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,922 INFO L290 TraceCheckUtils]: 32: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,923 INFO L290 TraceCheckUtils]: 30: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15312#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet17#1; {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {15201#true} main_~i~1#1 := 0; {15299#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {15201#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {15201#true} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 22: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,924 INFO L290 TraceCheckUtils]: 21: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 10: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {15201#true} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {15201#true} havoc main_#t~nondet15#1; {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {15201#true} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {15201#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 4: Hoare triple {15201#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 3: Hoare triple {15201#true} assume !(main_~length2~0#1 < 1); {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {15201#true} assume !(main_~length1~0#1 < 1); {15201#true} is VALID [2022-02-20 23:41:48,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {15201#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {15201#true} is VALID [2022-02-20 23:41:48,927 INFO L290 TraceCheckUtils]: 0: Hoare triple {15201#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {15201#true} is VALID [2022-02-20 23:41:48,927 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 28 proven. 92 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:48,927 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1202934828] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:48,927 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:48,927 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16, 16] total 34 [2022-02-20 23:41:48,927 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184316235] [2022-02-20 23:41:48,927 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:48,928 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 84 [2022-02-20 23:41:48,928 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:48,928 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:49,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:49,027 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-02-20 23:41:49,027 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:49,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-02-20 23:41:49,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=123, Invalid=1067, Unknown=0, NotChecked=0, Total=1190 [2022-02-20 23:41:49,028 INFO L87 Difference]: Start difference. First operand 85 states and 87 transitions. Second operand has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:50,817 INFO L93 Difference]: Finished difference Result 92 states and 94 transitions. [2022-02-20 23:41:50,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 23:41:50,817 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 84 [2022-02-20 23:41:50,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:50,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 78 transitions. [2022-02-20 23:41:50,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 78 transitions. [2022-02-20 23:41:50,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 78 transitions. [2022-02-20 23:41:50,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:50,885 INFO L225 Difference]: With dead ends: 92 [2022-02-20 23:41:50,885 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:41:50,886 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 147 SyntacticMatches, 2 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 358 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=530, Invalid=2226, Unknown=0, NotChecked=0, Total=2756 [2022-02-20 23:41:50,886 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 301 mSDsluCounter, 304 mSDsCounter, 0 mSdLazyCounter, 606 mSolverCounterSat, 61 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 301 SdHoareTripleChecker+Valid, 330 SdHoareTripleChecker+Invalid, 667 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 61 IncrementalHoareTripleChecker+Valid, 606 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:50,886 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [301 Valid, 330 Invalid, 667 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [61 Valid, 606 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:41:50,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:41:50,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2022-02-20 23:41:50,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:50,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 91 states, 90 states have (on average 1.0333333333333334) internal successors, (93), 90 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,887 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 91 states, 90 states have (on average 1.0333333333333334) internal successors, (93), 90 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,887 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 91 states, 90 states have (on average 1.0333333333333334) internal successors, (93), 90 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:50,888 INFO L93 Difference]: Finished difference Result 92 states and 94 transitions. [2022-02-20 23:41:50,888 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 94 transitions. [2022-02-20 23:41:50,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:50,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:50,888 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 90 states have (on average 1.0333333333333334) internal successors, (93), 90 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 92 states. [2022-02-20 23:41:50,889 INFO L87 Difference]: Start difference. First operand has 91 states, 90 states have (on average 1.0333333333333334) internal successors, (93), 90 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 92 states. [2022-02-20 23:41:50,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:50,889 INFO L93 Difference]: Finished difference Result 92 states and 94 transitions. [2022-02-20 23:41:50,889 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 94 transitions. [2022-02-20 23:41:50,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:50,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:50,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:50,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:50,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 90 states have (on average 1.0333333333333334) internal successors, (93), 90 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 93 transitions. [2022-02-20 23:41:50,890 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 93 transitions. Word has length 84 [2022-02-20 23:41:50,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:50,891 INFO L470 AbstractCegarLoop]: Abstraction has 91 states and 93 transitions. [2022-02-20 23:41:50,891 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 34 states have (on average 4.029411764705882) internal successors, (137), 35 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:50,891 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 93 transitions. [2022-02-20 23:41:50,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-02-20 23:41:50,891 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:50,891 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:50,911 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:51,102 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-02-20 23:41:51,102 INFO L402 AbstractCegarLoop]: === Iteration 40 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:51,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:51,102 INFO L85 PathProgramCache]: Analyzing trace with hash -915690852, now seen corresponding path program 9 times [2022-02-20 23:41:51,103 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:51,103 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [559167608] [2022-02-20 23:41:51,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:51,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:51,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:51,301 INFO L290 TraceCheckUtils]: 0: Hoare triple {16139#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16139#true} is VALID [2022-02-20 23:41:51,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {16139#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {16139#true} is VALID [2022-02-20 23:41:51,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {16139#true} assume !(main_~length1~0#1 < 1); {16139#true} is VALID [2022-02-20 23:41:51,301 INFO L290 TraceCheckUtils]: 3: Hoare triple {16139#true} assume !(main_~length2~0#1 < 1); {16139#true} is VALID [2022-02-20 23:41:51,302 INFO L290 TraceCheckUtils]: 4: Hoare triple {16139#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:51,302 INFO L290 TraceCheckUtils]: 5: Hoare triple {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:51,303 INFO L290 TraceCheckUtils]: 6: Hoare triple {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:51,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet15#1; {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:51,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {16141#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:51,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:51,305 INFO L290 TraceCheckUtils]: 10: Hoare triple {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:51,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} havoc main_#t~nondet15#1; {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:51,306 INFO L290 TraceCheckUtils]: 12: Hoare triple {16142#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:51,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:51,306 INFO L290 TraceCheckUtils]: 14: Hoare triple {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:51,307 INFO L290 TraceCheckUtils]: 15: Hoare triple {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} havoc main_#t~nondet15#1; {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} is VALID [2022-02-20 23:41:51,307 INFO L290 TraceCheckUtils]: 16: Hoare triple {16143#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 2))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:51,317 INFO L290 TraceCheckUtils]: 17: Hoare triple {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:51,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:51,318 INFO L290 TraceCheckUtils]: 19: Hoare triple {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} havoc main_#t~nondet15#1; {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:41:51,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {16144#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 3))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} is VALID [2022-02-20 23:41:51,318 INFO L290 TraceCheckUtils]: 21: Hoare triple {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} is VALID [2022-02-20 23:41:51,319 INFO L290 TraceCheckUtils]: 22: Hoare triple {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} is VALID [2022-02-20 23:41:51,319 INFO L290 TraceCheckUtils]: 23: Hoare triple {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} havoc main_#t~nondet15#1; {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} is VALID [2022-02-20 23:41:51,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {16145#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 4))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16146#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 5))} is VALID [2022-02-20 23:41:51,320 INFO L290 TraceCheckUtils]: 25: Hoare triple {16146#(<= (+ |ULTIMATE.start_main_~i~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (+ |ULTIMATE.start_main_~length1~0#1| 5))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,321 INFO L290 TraceCheckUtils]: 26: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_~i~1#1 := 0; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,321 INFO L290 TraceCheckUtils]: 28: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,322 INFO L290 TraceCheckUtils]: 32: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,323 INFO L290 TraceCheckUtils]: 33: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,323 INFO L290 TraceCheckUtils]: 34: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,323 INFO L290 TraceCheckUtils]: 35: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,323 INFO L290 TraceCheckUtils]: 36: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,324 INFO L290 TraceCheckUtils]: 37: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,324 INFO L290 TraceCheckUtils]: 38: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,324 INFO L290 TraceCheckUtils]: 39: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,325 INFO L290 TraceCheckUtils]: 40: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,325 INFO L290 TraceCheckUtils]: 41: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,325 INFO L290 TraceCheckUtils]: 42: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,326 INFO L290 TraceCheckUtils]: 43: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,326 INFO L290 TraceCheckUtils]: 44: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,326 INFO L290 TraceCheckUtils]: 45: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,326 INFO L290 TraceCheckUtils]: 46: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,327 INFO L290 TraceCheckUtils]: 47: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,327 INFO L290 TraceCheckUtils]: 48: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,327 INFO L290 TraceCheckUtils]: 49: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:51,328 INFO L290 TraceCheckUtils]: 50: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:51,328 INFO L290 TraceCheckUtils]: 51: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:51,328 INFO L290 TraceCheckUtils]: 52: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:51,329 INFO L290 TraceCheckUtils]: 53: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:51,329 INFO L290 TraceCheckUtils]: 54: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16149#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,330 INFO L290 TraceCheckUtils]: 55: Hoare triple {16149#(<= (+ (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,330 INFO L290 TraceCheckUtils]: 56: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,330 INFO L290 TraceCheckUtils]: 57: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,331 INFO L290 TraceCheckUtils]: 58: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,331 INFO L290 TraceCheckUtils]: 59: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,331 INFO L290 TraceCheckUtils]: 60: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:51,332 INFO L290 TraceCheckUtils]: 61: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:51,332 INFO L290 TraceCheckUtils]: 62: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:51,332 INFO L290 TraceCheckUtils]: 63: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:51,333 INFO L290 TraceCheckUtils]: 64: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:51,333 INFO L290 TraceCheckUtils]: 65: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:51,334 INFO L290 TraceCheckUtils]: 66: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,334 INFO L290 TraceCheckUtils]: 67: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,334 INFO L290 TraceCheckUtils]: 68: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,335 INFO L290 TraceCheckUtils]: 69: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,335 INFO L290 TraceCheckUtils]: 70: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,335 INFO L290 TraceCheckUtils]: 71: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,336 INFO L290 TraceCheckUtils]: 72: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,336 INFO L290 TraceCheckUtils]: 73: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,337 INFO L290 TraceCheckUtils]: 74: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,337 INFO L290 TraceCheckUtils]: 75: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,338 INFO L290 TraceCheckUtils]: 76: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,338 INFO L290 TraceCheckUtils]: 77: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:51,338 INFO L290 TraceCheckUtils]: 78: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:51,339 INFO L290 TraceCheckUtils]: 79: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:51,339 INFO L290 TraceCheckUtils]: 80: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:51,339 INFO L290 TraceCheckUtils]: 81: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:51,340 INFO L290 TraceCheckUtils]: 82: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:51,340 INFO L290 TraceCheckUtils]: 83: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:51,341 INFO L290 TraceCheckUtils]: 84: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:51,341 INFO L290 TraceCheckUtils]: 85: Hoare triple {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:51,341 INFO L290 TraceCheckUtils]: 86: Hoare triple {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:51,342 INFO L290 TraceCheckUtils]: 87: Hoare triple {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16140#false} is VALID [2022-02-20 23:41:51,342 INFO L290 TraceCheckUtils]: 88: Hoare triple {16140#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16140#false} is VALID [2022-02-20 23:41:51,342 INFO L290 TraceCheckUtils]: 89: Hoare triple {16140#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {16140#false} is VALID [2022-02-20 23:41:51,342 INFO L134 CoverageAnalysis]: Checked inductivity of 198 backedges. 82 proven. 71 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:51,342 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:51,342 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [559167608] [2022-02-20 23:41:51,343 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [559167608] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:51,343 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [230951881] [2022-02-20 23:41:51,343 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:41:51,343 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:51,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:51,344 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:51,367 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-02-20 23:41:51,596 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2022-02-20 23:41:51,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:51,599 INFO L263 TraceCheckSpWp]: Trace formula consists of 463 conjuncts, 58 conjunts are in the unsatisfiable core [2022-02-20 23:41:51,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:51,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:51,671 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:41:51,672 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:41:51,678 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-02-20 23:41:52,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {16139#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16139#true} is VALID [2022-02-20 23:41:52,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {16139#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {16139#true} is VALID [2022-02-20 23:41:52,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {16139#true} assume !(main_~length1~0#1 < 1); {16139#true} is VALID [2022-02-20 23:41:52,212 INFO L290 TraceCheckUtils]: 3: Hoare triple {16139#true} assume !(main_~length2~0#1 < 1); {16139#true} is VALID [2022-02-20 23:41:52,212 INFO L290 TraceCheckUtils]: 4: Hoare triple {16139#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,213 INFO L290 TraceCheckUtils]: 6: Hoare triple {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet15#1; {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {16171#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:52,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:52,214 INFO L290 TraceCheckUtils]: 10: Hoare triple {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:52,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet15#1; {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:52,215 INFO L290 TraceCheckUtils]: 12: Hoare triple {16184#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} is VALID [2022-02-20 23:41:52,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} is VALID [2022-02-20 23:41:52,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} is VALID [2022-02-20 23:41:52,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} havoc main_#t~nondet15#1; {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} is VALID [2022-02-20 23:41:52,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {16197#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,217 INFO L290 TraceCheckUtils]: 17: Hoare triple {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,217 INFO L290 TraceCheckUtils]: 19: Hoare triple {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet15#1; {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,218 INFO L290 TraceCheckUtils]: 20: Hoare triple {16210#(and (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} is VALID [2022-02-20 23:41:52,218 INFO L290 TraceCheckUtils]: 21: Hoare triple {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} is VALID [2022-02-20 23:41:52,218 INFO L290 TraceCheckUtils]: 22: Hoare triple {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} is VALID [2022-02-20 23:41:52,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} havoc main_#t~nondet15#1; {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} is VALID [2022-02-20 23:41:52,219 INFO L290 TraceCheckUtils]: 24: Hoare triple {16223#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 4))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16236#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5))} is VALID [2022-02-20 23:41:52,219 INFO L290 TraceCheckUtils]: 25: Hoare triple {16236#(and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,220 INFO L290 TraceCheckUtils]: 26: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_~i~1#1 := 0; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,220 INFO L290 TraceCheckUtils]: 27: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,220 INFO L290 TraceCheckUtils]: 28: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,221 INFO L290 TraceCheckUtils]: 32: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,226 INFO L290 TraceCheckUtils]: 34: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,228 INFO L290 TraceCheckUtils]: 35: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,228 INFO L290 TraceCheckUtils]: 36: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,229 INFO L290 TraceCheckUtils]: 37: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,229 INFO L290 TraceCheckUtils]: 38: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,230 INFO L290 TraceCheckUtils]: 39: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,231 INFO L290 TraceCheckUtils]: 40: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,231 INFO L290 TraceCheckUtils]: 41: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,231 INFO L290 TraceCheckUtils]: 42: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,231 INFO L290 TraceCheckUtils]: 43: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,232 INFO L290 TraceCheckUtils]: 44: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,232 INFO L290 TraceCheckUtils]: 45: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,232 INFO L290 TraceCheckUtils]: 46: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,232 INFO L290 TraceCheckUtils]: 47: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,232 INFO L290 TraceCheckUtils]: 48: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,233 INFO L290 TraceCheckUtils]: 49: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,233 INFO L290 TraceCheckUtils]: 50: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,233 INFO L290 TraceCheckUtils]: 51: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,234 INFO L290 TraceCheckUtils]: 53: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,234 INFO L290 TraceCheckUtils]: 54: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16327#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,235 INFO L290 TraceCheckUtils]: 55: Hoare triple {16327#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= (+ |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 1) |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,235 INFO L290 TraceCheckUtils]: 56: Hoare triple {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,235 INFO L290 TraceCheckUtils]: 57: Hoare triple {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,236 INFO L290 TraceCheckUtils]: 58: Hoare triple {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,236 INFO L290 TraceCheckUtils]: 59: Hoare triple {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,236 INFO L290 TraceCheckUtils]: 60: Hoare triple {16331#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 1 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,237 INFO L290 TraceCheckUtils]: 62: Hoare triple {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,237 INFO L290 TraceCheckUtils]: 63: Hoare triple {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,238 INFO L290 TraceCheckUtils]: 64: Hoare triple {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,238 INFO L290 TraceCheckUtils]: 65: Hoare triple {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,239 INFO L290 TraceCheckUtils]: 66: Hoare triple {16347#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,239 INFO L290 TraceCheckUtils]: 67: Hoare triple {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,239 INFO L290 TraceCheckUtils]: 68: Hoare triple {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,240 INFO L290 TraceCheckUtils]: 69: Hoare triple {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,240 INFO L290 TraceCheckUtils]: 70: Hoare triple {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,240 INFO L290 TraceCheckUtils]: 71: Hoare triple {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,241 INFO L290 TraceCheckUtils]: 72: Hoare triple {16366#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,241 INFO L290 TraceCheckUtils]: 73: Hoare triple {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,241 INFO L290 TraceCheckUtils]: 74: Hoare triple {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,242 INFO L290 TraceCheckUtils]: 75: Hoare triple {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,242 INFO L290 TraceCheckUtils]: 76: Hoare triple {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,242 INFO L290 TraceCheckUtils]: 77: Hoare triple {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,243 INFO L290 TraceCheckUtils]: 78: Hoare triple {16385#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 4 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,243 INFO L290 TraceCheckUtils]: 79: Hoare triple {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,243 INFO L290 TraceCheckUtils]: 80: Hoare triple {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,244 INFO L290 TraceCheckUtils]: 81: Hoare triple {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,244 INFO L290 TraceCheckUtils]: 82: Hoare triple {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,244 INFO L290 TraceCheckUtils]: 83: Hoare triple {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,245 INFO L290 TraceCheckUtils]: 84: Hoare triple {16404#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16423#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 6 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,245 INFO L290 TraceCheckUtils]: 85: Hoare triple {16423#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 6 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16423#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 6 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,245 INFO L290 TraceCheckUtils]: 86: Hoare triple {16423#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 6 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16423#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 6 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,246 INFO L290 TraceCheckUtils]: 87: Hoare triple {16423#(and (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6) (<= 6 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16140#false} is VALID [2022-02-20 23:41:52,246 INFO L290 TraceCheckUtils]: 88: Hoare triple {16140#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16140#false} is VALID [2022-02-20 23:41:52,246 INFO L290 TraceCheckUtils]: 89: Hoare triple {16140#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {16140#false} is VALID [2022-02-20 23:41:52,246 INFO L134 CoverageAnalysis]: Checked inductivity of 198 backedges. 103 proven. 50 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:52,246 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:52,758 INFO L290 TraceCheckUtils]: 89: Hoare triple {16140#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {16140#false} is VALID [2022-02-20 23:41:52,759 INFO L290 TraceCheckUtils]: 88: Hoare triple {16140#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16140#false} is VALID [2022-02-20 23:41:52,759 INFO L290 TraceCheckUtils]: 87: Hoare triple {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16140#false} is VALID [2022-02-20 23:41:52,759 INFO L290 TraceCheckUtils]: 86: Hoare triple {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:52,760 INFO L290 TraceCheckUtils]: 85: Hoare triple {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:52,760 INFO L290 TraceCheckUtils]: 84: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16155#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)} is VALID [2022-02-20 23:41:52,760 INFO L290 TraceCheckUtils]: 83: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:52,760 INFO L290 TraceCheckUtils]: 82: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:52,761 INFO L290 TraceCheckUtils]: 81: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:52,761 INFO L290 TraceCheckUtils]: 80: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:52,761 INFO L290 TraceCheckUtils]: 79: Hoare triple {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:52,761 INFO L290 TraceCheckUtils]: 78: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16154#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:41:52,762 INFO L290 TraceCheckUtils]: 77: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,762 INFO L290 TraceCheckUtils]: 76: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,762 INFO L290 TraceCheckUtils]: 75: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,763 INFO L290 TraceCheckUtils]: 74: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,763 INFO L290 TraceCheckUtils]: 73: Hoare triple {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,763 INFO L290 TraceCheckUtils]: 72: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16153#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,764 INFO L290 TraceCheckUtils]: 71: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,764 INFO L290 TraceCheckUtils]: 70: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,764 INFO L290 TraceCheckUtils]: 69: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,765 INFO L290 TraceCheckUtils]: 68: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,765 INFO L290 TraceCheckUtils]: 67: Hoare triple {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,765 INFO L290 TraceCheckUtils]: 66: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16152#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,766 INFO L290 TraceCheckUtils]: 65: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:52,766 INFO L290 TraceCheckUtils]: 64: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:52,766 INFO L290 TraceCheckUtils]: 63: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:52,766 INFO L290 TraceCheckUtils]: 62: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:52,766 INFO L290 TraceCheckUtils]: 61: Hoare triple {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:52,767 INFO L290 TraceCheckUtils]: 60: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16151#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ |ULTIMATE.start_cstrcmp_~s1#1.offset| 4))} is VALID [2022-02-20 23:41:52,767 INFO L290 TraceCheckUtils]: 59: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,767 INFO L290 TraceCheckUtils]: 58: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,768 INFO L290 TraceCheckUtils]: 57: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,768 INFO L290 TraceCheckUtils]: 56: Hoare triple {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,768 INFO L290 TraceCheckUtils]: 55: Hoare triple {16541#(or (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {16150#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|))} is VALID [2022-02-20 23:41:52,769 INFO L290 TraceCheckUtils]: 54: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {16541#(or (<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) (+ 5 |ULTIMATE.start_cstrcmp_~s1#1.offset|)) (not (<= 0 |ULTIMATE.start_cstrcmp_#t~post5#1.offset|)))} is VALID [2022-02-20 23:41:52,769 INFO L290 TraceCheckUtils]: 53: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,769 INFO L290 TraceCheckUtils]: 52: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,769 INFO L290 TraceCheckUtils]: 51: Hoare triple {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,770 INFO L290 TraceCheckUtils]: 50: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {16148#(<= (select |#length| |ULTIMATE.start_cstrcmp_~s1#1.base|) 6)} is VALID [2022-02-20 23:41:52,770 INFO L290 TraceCheckUtils]: 49: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,770 INFO L290 TraceCheckUtils]: 48: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,770 INFO L290 TraceCheckUtils]: 47: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,770 INFO L290 TraceCheckUtils]: 46: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,771 INFO L290 TraceCheckUtils]: 45: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,771 INFO L290 TraceCheckUtils]: 44: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,771 INFO L290 TraceCheckUtils]: 43: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,772 INFO L290 TraceCheckUtils]: 41: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,772 INFO L290 TraceCheckUtils]: 40: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,772 INFO L290 TraceCheckUtils]: 39: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,772 INFO L290 TraceCheckUtils]: 38: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,772 INFO L290 TraceCheckUtils]: 37: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,773 INFO L290 TraceCheckUtils]: 36: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,773 INFO L290 TraceCheckUtils]: 34: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,773 INFO L290 TraceCheckUtils]: 33: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,773 INFO L290 TraceCheckUtils]: 32: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,774 INFO L290 TraceCheckUtils]: 29: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} havoc main_#t~nondet17#1; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,774 INFO L290 TraceCheckUtils]: 28: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} main_~i~1#1 := 0; {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,775 INFO L290 TraceCheckUtils]: 25: Hoare triple {16632#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {16147#(<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6)} is VALID [2022-02-20 23:41:52,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16632#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} havoc main_#t~nondet15#1; {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16636#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,777 INFO L290 TraceCheckUtils]: 19: Hoare triple {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} havoc main_#t~nondet15#1; {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,777 INFO L290 TraceCheckUtils]: 17: Hoare triple {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16649#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} havoc main_#t~nondet15#1; {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16662#(or (< (+ |ULTIMATE.start_main_~i~0#1| 4) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} havoc main_#t~nondet15#1; {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,779 INFO L290 TraceCheckUtils]: 10: Hoare triple {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {16675#(or (< (+ 5 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} havoc main_#t~nondet15#1; {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,780 INFO L290 TraceCheckUtils]: 6: Hoare triple {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,781 INFO L290 TraceCheckUtils]: 4: Hoare triple {16139#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {16688#(or (< (+ 6 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 6))} is VALID [2022-02-20 23:41:52,781 INFO L290 TraceCheckUtils]: 3: Hoare triple {16139#true} assume !(main_~length2~0#1 < 1); {16139#true} is VALID [2022-02-20 23:41:52,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {16139#true} assume !(main_~length1~0#1 < 1); {16139#true} is VALID [2022-02-20 23:41:52,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {16139#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {16139#true} is VALID [2022-02-20 23:41:52,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {16139#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16139#true} is VALID [2022-02-20 23:41:52,782 INFO L134 CoverageAnalysis]: Checked inductivity of 198 backedges. 87 proven. 66 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 23:41:52,782 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [230951881] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:52,782 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:52,782 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17, 17] total 37 [2022-02-20 23:41:52,782 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1848937171] [2022-02-20 23:41:52,782 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:52,783 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 90 [2022-02-20 23:41:52,784 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:52,784 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:52,850 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-02-20 23:41:52,850 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:52,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-02-20 23:41:52,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=263, Invalid=1069, Unknown=0, NotChecked=0, Total=1332 [2022-02-20 23:41:52,851 INFO L87 Difference]: Start difference. First operand 91 states and 93 transitions. Second operand has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,565 INFO L93 Difference]: Finished difference Result 160 states and 163 transitions. [2022-02-20 23:41:53,565 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 23:41:53,566 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 90 [2022-02-20 23:41:53,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:53,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 97 transitions. [2022-02-20 23:41:53,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 97 transitions. [2022-02-20 23:41:53,568 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 97 transitions. [2022-02-20 23:41:53,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,613 INFO L225 Difference]: With dead ends: 160 [2022-02-20 23:41:53,613 INFO L226 Difference]: Without dead ends: 98 [2022-02-20 23:41:53,614 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 210 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 710 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=637, Invalid=2015, Unknown=0, NotChecked=0, Total=2652 [2022-02-20 23:41:53,615 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 108 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 347 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 108 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 347 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:53,619 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [108 Valid, 223 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 347 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:41:53,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-02-20 23:41:53,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 95. [2022-02-20 23:41:53,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:53,620 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 95 states, 94 states have (on average 1.0319148936170213) internal successors, (97), 94 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,620 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 95 states, 94 states have (on average 1.0319148936170213) internal successors, (97), 94 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,621 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 95 states, 94 states have (on average 1.0319148936170213) internal successors, (97), 94 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,621 INFO L93 Difference]: Finished difference Result 98 states and 100 transitions. [2022-02-20 23:41:53,621 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 100 transitions. [2022-02-20 23:41:53,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,622 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 94 states have (on average 1.0319148936170213) internal successors, (97), 94 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 98 states. [2022-02-20 23:41:53,622 INFO L87 Difference]: Start difference. First operand has 95 states, 94 states have (on average 1.0319148936170213) internal successors, (97), 94 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 98 states. [2022-02-20 23:41:53,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,623 INFO L93 Difference]: Finished difference Result 98 states and 100 transitions. [2022-02-20 23:41:53,623 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 100 transitions. [2022-02-20 23:41:53,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:53,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:53,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 94 states have (on average 1.0319148936170213) internal successors, (97), 94 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 97 transitions. [2022-02-20 23:41:53,624 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 97 transitions. Word has length 90 [2022-02-20 23:41:53,624 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:53,624 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 97 transitions. [2022-02-20 23:41:53,624 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 4.162162162162162) internal successors, (154), 37 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,624 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 97 transitions. [2022-02-20 23:41:53,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-02-20 23:41:53,625 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:53,625 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:53,643 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-02-20 23:41:53,839 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-02-20 23:41:53,839 INFO L402 AbstractCegarLoop]: === Iteration 41 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:41:53,839 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:53,840 INFO L85 PathProgramCache]: Analyzing trace with hash -938077319, now seen corresponding path program 10 times [2022-02-20 23:41:53,840 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:53,840 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [653834129] [2022-02-20 23:41:53,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:53,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:54,565 INFO L290 TraceCheckUtils]: 0: Hoare triple {17193#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17193#true} is VALID [2022-02-20 23:41:54,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {17193#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet10#1, main_#t~nondet11#1, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~malloc13#1.base, main_#t~malloc13#1.offset, main_#t~nondet15#1, main_#t~post14#1, main_~i~0#1, main_#t~nondet17#1, main_#t~post16#1, main_~i~1#1, main_#t~ret18#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {17193#true} is VALID [2022-02-20 23:41:54,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {17193#true} assume !(main_~length1~0#1 < 1); {17193#true} is VALID [2022-02-20 23:41:54,565 INFO L290 TraceCheckUtils]: 3: Hoare triple {17193#true} assume !(main_~length2~0#1 < 1); {17193#true} is VALID [2022-02-20 23:41:54,566 INFO L290 TraceCheckUtils]: 4: Hoare triple {17193#true} call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call main_#t~malloc13#1.base, main_#t~malloc13#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc13#1.base, main_#t~malloc13#1.offset;main_~i~0#1 := 0; {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {17195#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:54,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:54,569 INFO L290 TraceCheckUtils]: 10: Hoare triple {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:54,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet15#1; {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:41:54,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {17196#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,571 INFO L290 TraceCheckUtils]: 14: Hoare triple {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,571 INFO L290 TraceCheckUtils]: 15: Hoare triple {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet15#1; {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,571 INFO L290 TraceCheckUtils]: 16: Hoare triple {17197#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,572 INFO L290 TraceCheckUtils]: 17: Hoare triple {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,572 INFO L290 TraceCheckUtils]: 18: Hoare triple {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,573 INFO L290 TraceCheckUtils]: 19: Hoare triple {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet15#1; {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {17198#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= 3 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,574 INFO L290 TraceCheckUtils]: 21: Hoare triple {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet15#1; {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:54,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {17199#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 4) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} is VALID [2022-02-20 23:41:54,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet15#1 && main_#t~nondet15#1 <= 127; {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} is VALID [2022-02-20 23:41:54,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} SUMMARY for call write~int(main_#t~nondet15#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L535 {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} is VALID [2022-02-20 23:41:54,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} havoc main_#t~nondet15#1; {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} is VALID [2022-02-20 23:41:54,578 INFO L290 TraceCheckUtils]: 28: Hoare triple {17200#(and (or (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= 5 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 5)) (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~0#1|) (* (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset|)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (<= |ULTIMATE.start_main_~i~0#1| 5)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {17201#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,578 INFO L290 TraceCheckUtils]: 29: Hoare triple {17201#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {17201#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {17201#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,579 INFO L290 TraceCheckUtils]: 32: Hoare triple {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,580 INFO L290 TraceCheckUtils]: 33: Hoare triple {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {17202#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,581 INFO L290 TraceCheckUtils]: 35: Hoare triple {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,582 INFO L290 TraceCheckUtils]: 36: Hoare triple {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,583 INFO L290 TraceCheckUtils]: 38: Hoare triple {17203#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,583 INFO L290 TraceCheckUtils]: 39: Hoare triple {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,584 INFO L290 TraceCheckUtils]: 40: Hoare triple {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,584 INFO L290 TraceCheckUtils]: 41: Hoare triple {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,585 INFO L290 TraceCheckUtils]: 42: Hoare triple {17204#(and (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,586 INFO L290 TraceCheckUtils]: 43: Hoare triple {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,586 INFO L290 TraceCheckUtils]: 44: Hoare triple {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,587 INFO L290 TraceCheckUtils]: 45: Hoare triple {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet17#1; {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,587 INFO L290 TraceCheckUtils]: 46: Hoare triple {17205#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 4) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {17206#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,588 INFO L290 TraceCheckUtils]: 47: Hoare triple {17206#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet17#1 && main_#t~nondet17#1 <= 127; {17207#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:54,589 INFO L290 TraceCheckUtils]: 48: Hoare triple {17207#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet17#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L539 {17207#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:54,589 INFO L290 TraceCheckUtils]: 49: Hoare triple {17207#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet17#1; {17207#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:41:54,590 INFO L290 TraceCheckUtils]: 50: Hoare triple {17207#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post16#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {17208#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,590 INFO L290 TraceCheckUtils]: 51: Hoare triple {17208#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {17209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6)))} is VALID [2022-02-20 23:41:54,591 INFO L290 TraceCheckUtils]: 52: Hoare triple {17209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L537-4 {17209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6)))} is VALID [2022-02-20 23:41:54,591 INFO L290 TraceCheckUtils]: 53: Hoare triple {17209#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 6)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L542 {17210#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)) 0))} is VALID [2022-02-20 23:41:54,592 INFO L290 TraceCheckUtils]: 54: Hoare triple {17210#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 5)) 0))} assume { :begin_inline_cstrcmp } true;cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset, cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrcmp_#res#1;havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, cstrcmp_#t~mem6#1, cstrcmp_#t~mem3#1, cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, cstrcmp_#t~mem4#1, cstrcmp_#t~mem8#1, cstrcmp_#t~pre7#1.base, cstrcmp_#t~pre7#1.offset, cstrcmp_#t~mem9#1, cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#in~s1#1.base, cstrcmp_#in~s1#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#in~s2#1.base, cstrcmp_#in~s2#1.offset; {17211#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 5) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:54,592 INFO L290 TraceCheckUtils]: 55: Hoare triple {17211#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 5) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17211#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 5) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:54,593 INFO L290 TraceCheckUtils]: 56: Hoare triple {17211#(and (= |ULTIMATE.start_cstrcmp_~s2#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) 5) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17212#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0) (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:54,593 INFO L290 TraceCheckUtils]: 57: Hoare triple {17212#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0) (= |ULTIMATE.start_cstrcmp_#t~post2#1.offset| 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {17213#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} is VALID [2022-02-20 23:41:54,594 INFO L290 TraceCheckUtils]: 58: Hoare triple {17213#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0) (= |ULTIMATE.start_cstrcmp_~s1#1.offset| 0))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {17214#(and (or (< |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} is VALID [2022-02-20 23:41:54,594 INFO L290 TraceCheckUtils]: 59: Hoare triple {17214#(and (or (< |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)) (<= |ULTIMATE.start_cstrcmp_#t~post5#1.offset| 0))} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {17215#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)} is VALID [2022-02-20 23:41:54,594 INFO L290 TraceCheckUtils]: 60: Hoare triple {17215#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {17215#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)} is VALID [2022-02-20 23:41:54,595 INFO L290 TraceCheckUtils]: 61: Hoare triple {17215#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17215#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)} is VALID [2022-02-20 23:41:54,595 INFO L290 TraceCheckUtils]: 62: Hoare triple {17215#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 4)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,595 INFO L290 TraceCheckUtils]: 63: Hoare triple {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,596 INFO L290 TraceCheckUtils]: 64: Hoare triple {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,596 INFO L290 TraceCheckUtils]: 65: Hoare triple {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,597 INFO L290 TraceCheckUtils]: 66: Hoare triple {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,597 INFO L290 TraceCheckUtils]: 67: Hoare triple {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,597 INFO L290 TraceCheckUtils]: 68: Hoare triple {17216#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 3 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,598 INFO L290 TraceCheckUtils]: 69: Hoare triple {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,598 INFO L290 TraceCheckUtils]: 70: Hoare triple {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,599 INFO L290 TraceCheckUtils]: 71: Hoare triple {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,599 INFO L290 TraceCheckUtils]: 72: Hoare triple {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,599 INFO L290 TraceCheckUtils]: 73: Hoare triple {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:41:54,600 INFO L290 TraceCheckUtils]: 74: Hoare triple {17217#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrcmp_~s2#1.offset|)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:54,600 INFO L290 TraceCheckUtils]: 75: Hoare triple {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:54,600 INFO L290 TraceCheckUtils]: 76: Hoare triple {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:54,601 INFO L290 TraceCheckUtils]: 77: Hoare triple {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:54,601 INFO L290 TraceCheckUtils]: 78: Hoare triple {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:54,601 INFO L290 TraceCheckUtils]: 79: Hoare triple {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} is VALID [2022-02-20 23:41:54,602 INFO L290 TraceCheckUtils]: 80: Hoare triple {17218#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) (+ |ULTIMATE.start_cstrcmp_~s2#1.offset| 1)) 0)} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:54,602 INFO L290 TraceCheckUtils]: 81: Hoare triple {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:54,602 INFO L290 TraceCheckUtils]: 82: Hoare triple {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:54,603 INFO L290 TraceCheckUtils]: 83: Hoare triple {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:54,603 INFO L290 TraceCheckUtils]: 84: Hoare triple {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:54,603 INFO L290 TraceCheckUtils]: 85: Hoare triple {17219#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17220#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:54,604 INFO L290 TraceCheckUtils]: 86: Hoare triple {17220#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s2#1.base|) |ULTIMATE.start_cstrcmp_~s2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17221#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:54,604 INFO L290 TraceCheckUtils]: 87: Hoare triple {17221#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post2#1.base|) |ULTIMATE.start_cstrcmp_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} SUMMARY for call cstrcmp_#t~mem4#1 := read~int(cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset, 1); srcloc: L516-2 {17222#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} is VALID [2022-02-20 23:41:54,605 INFO L290 TraceCheckUtils]: 88: Hoare triple {17222#(and (= |ULTIMATE.start_cstrcmp_#t~mem4#1| 0) (= |ULTIMATE.start_cstrcmp_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrcmp_~s1#1.base|) |ULTIMATE.start_cstrcmp_~s1#1.offset|)))} assume !!(cstrcmp_#t~mem3#1 == cstrcmp_#t~mem4#1);havoc cstrcmp_#t~mem3#1;havoc cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset;havoc cstrcmp_#t~mem4#1;cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset := cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset;cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset := cstrcmp_#t~post5#1.base, 1 + cstrcmp_#t~post5#1.offset; {17223#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} is VALID [2022-02-20 23:41:54,605 INFO L290 TraceCheckUtils]: 89: Hoare triple {17223#(= (select (select |#memory_int| |ULTIMATE.start_cstrcmp_#t~post5#1.base|) |ULTIMATE.start_cstrcmp_#t~post5#1.offset|) 0)} SUMMARY for call cstrcmp_#t~mem6#1 := read~int(cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset, 1); srcloc: L517 {17224#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} is VALID [2022-02-20 23:41:54,605 INFO L290 TraceCheckUtils]: 90: Hoare triple {17224#(= |ULTIMATE.start_cstrcmp_#t~mem6#1| 0)} assume !(0 == cstrcmp_#t~mem6#1);havoc cstrcmp_#t~post5#1.base, cstrcmp_#t~post5#1.offset;havoc cstrcmp_#t~mem6#1; {17194#false} is VALID [2022-02-20 23:41:54,605 INFO L290 TraceCheckUtils]: 91: Hoare triple {17194#false} SUMMARY for call cstrcmp_#t~mem3#1 := read~int(cstrcmp_~s1#1.base, cstrcmp_~s1#1.offset, 1); srcloc: L516-5 {17194#false} is VALID [2022-02-20 23:41:54,605 INFO L290 TraceCheckUtils]: 92: Hoare triple {17194#false} cstrcmp_#t~post2#1.base, cstrcmp_#t~post2#1.offset := cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset;cstrcmp_~s2#1.base, cstrcmp_~s2#1.offset := cstrcmp_#t~post2#1.base, 1 + cstrcmp_#t~post2#1.offset; {17194#false} is VALID [2022-02-20 23:41:54,605 INFO L290 TraceCheckUtils]: 93: Hoare triple {17194#false} assume !(1 + cstrcmp_#t~post2#1.offset <= #length[cstrcmp_#t~post2#1.base] && 0 <= cstrcmp_#t~post2#1.offset); {17194#false} is VALID [2022-02-20 23:41:54,606 INFO L134 CoverageAnalysis]: Checked inductivity of 219 backedges. 18 proven. 201 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:54,606 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:54,606 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [653834129] [2022-02-20 23:41:54,606 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [653834129] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:54,606 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [508683638] [2022-02-20 23:41:54,606 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:41:54,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:54,606 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:54,607 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:41:54,608 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-02-20 23:41:54,758 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:41:54,758 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:54,762 INFO L263 TraceCheckSpWp]: Trace formula consists of 439 conjuncts, 120 conjunts are in the unsatisfiable core [2022-02-20 23:41:54,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:54,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:54,847 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:41:54,847 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 1 case distinctions, treesize of input 9 treesize of output 15