./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/array-memsafety/openbsd_cstrstr-alloca-2.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_cstrstr-alloca-2.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 991fb09b573d5827d0db553f1ea89a581f5a664ba8b68d6f14a043df738f2f6d --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:41:53,690 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:41:53,692 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:41:53,711 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:41:53,711 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:41:53,712 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:41:53,713 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:41:53,714 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:41:53,715 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:41:53,716 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:41:53,716 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:41:53,717 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:41:53,718 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:41:53,718 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:41:53,719 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:41:53,720 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:41:53,720 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:41:53,721 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:41:53,722 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:41:53,723 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:41:53,724 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:41:53,729 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:41:53,730 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:41:53,731 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:41:53,732 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:41:53,732 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:41:53,733 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:41:53,733 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:41:53,734 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:41:53,734 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:41:53,734 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:41:53,735 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:41:53,735 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:41:53,736 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:41:53,737 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:41:53,737 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:41:53,737 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:41:53,738 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:41:53,738 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:41:53,738 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:41:53,739 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:41:53,740 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:41:53,753 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:41:53,753 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:41:53,753 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:41:53,754 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:41:53,754 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:41:53,754 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:41:53,755 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:41:53,755 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:41:53,755 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:41:53,755 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:41:53,756 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:41:53,756 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:41:53,756 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:41:53,756 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:41:53,756 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:41:53,756 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:41:53,757 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:41:53,757 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:41:53,757 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:41:53,757 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:41:53,757 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:41:53,757 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:41:53,758 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:41:53,758 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:41:53,758 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:41:53,758 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:41:53,758 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:41:53,759 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:41:53,759 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:41:53,759 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:41:53,759 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 -> 991fb09b573d5827d0db553f1ea89a581f5a664ba8b68d6f14a043df738f2f6d [2022-02-20 23:41:53,968 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:41:53,992 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:41:53,994 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:41:53,996 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:41:53,997 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:41:53,998 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety/openbsd_cstrstr-alloca-2.i [2022-02-20 23:41:54,050 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a5618b1c/0a26abd331d246e6bc89aa52b49ba2f7/FLAGfc7043b94 [2022-02-20 23:41:54,454 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:41:54,456 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety/openbsd_cstrstr-alloca-2.i [2022-02-20 23:41:54,462 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a5618b1c/0a26abd331d246e6bc89aa52b49ba2f7/FLAGfc7043b94 [2022-02-20 23:41:54,473 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a5618b1c/0a26abd331d246e6bc89aa52b49ba2f7 [2022-02-20 23:41:54,474 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:41:54,475 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:41:54,476 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:41:54,476 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:41:54,478 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:41:54,479 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,480 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@34603006 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54, skipping insertion in model container [2022-02-20 23:41:54,480 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,485 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:41:54,516 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:41:54,752 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:41:54,760 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:41:54,793 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:41:54,816 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:41:54,816 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54 WrapperNode [2022-02-20 23:41:54,816 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:41:54,817 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:41:54,818 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:41:54,818 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:41:54,825 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:41:54" (1/1) ... [2022-02-20 23:41:54,834 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:41:54" (1/1) ... [2022-02-20 23:41:54,855 INFO L137 Inliner]: procedures = 119, calls = 23, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 160 [2022-02-20 23:41:54,856 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:41:54,856 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:41:54,856 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:41:54,856 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:41:54,862 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,862 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,865 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,865 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,870 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,873 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,874 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,876 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:41:54,877 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:41:54,877 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:41:54,877 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:41:54,882 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (1/1) ... [2022-02-20 23:41:54,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:41:54,913 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:54,927 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:41:54,950 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:41:54,985 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:41:54,985 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:41:54,985 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:41:54,986 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:41:54,986 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:41:54,986 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:41:55,139 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:41:55,140 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:41:55,464 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:41:55,469 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:41:55,469 INFO L299 CfgBuilder]: Removed 6 assume(true) statements. [2022-02-20 23:41:55,471 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:41:55 BoogieIcfgContainer [2022-02-20 23:41:55,471 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:41:55,472 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:41:55,472 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:41:55,476 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:41:55,477 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:41:54" (1/3) ... [2022-02-20 23:41:55,477 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3053be5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:41:55, skipping insertion in model container [2022-02-20 23:41:55,477 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:54" (2/3) ... [2022-02-20 23:41:55,478 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3053be5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:41:55, skipping insertion in model container [2022-02-20 23:41:55,478 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:41:55" (3/3) ... [2022-02-20 23:41:55,479 INFO L111 eAbstractionObserver]: Analyzing ICFG openbsd_cstrstr-alloca-2.i [2022-02-20 23:41:55,482 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:41:55,482 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 25 error locations. [2022-02-20 23:41:55,513 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:41:55,517 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:41:55,517 INFO L340 AbstractCegarLoop]: Starting to check reachability of 25 error locations. [2022-02-20 23:41:55,530 INFO L276 IsEmpty]: Start isEmpty. Operand has 79 states, 53 states have (on average 1.830188679245283) internal successors, (97), 78 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:55,534 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:41:55,534 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:55,535 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:55,535 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:55,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:55,545 INFO L85 PathProgramCache]: Analyzing trace with hash 1805029096, now seen corresponding path program 1 times [2022-02-20 23:41:55,565 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:55,566 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625650026] [2022-02-20 23:41:55,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:55,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:55,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:55,842 INFO L290 TraceCheckUtils]: 0: Hoare triple {82#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {82#true} is VALID [2022-02-20 23:41:55,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {82#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {82#true} is VALID [2022-02-20 23:41:55,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {82#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {82#true} is VALID [2022-02-20 23:41:55,843 INFO L290 TraceCheckUtils]: 3: Hoare triple {82#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {82#true} is VALID [2022-02-20 23:41:55,845 INFO L290 TraceCheckUtils]: 4: Hoare triple {82#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {84#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:41:55,845 INFO L290 TraceCheckUtils]: 5: Hoare triple {84#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {84#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:41:55,846 INFO L290 TraceCheckUtils]: 6: Hoare triple {84#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(1 == #valid[main_~nondetString1~0#1.base]); {83#false} is VALID [2022-02-20 23:41:55,847 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:41:55,847 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:55,847 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625650026] [2022-02-20 23:41:55,848 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [625650026] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:55,848 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:55,848 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:41:55,850 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2100910437] [2022-02-20 23:41:55,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:55,854 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:41:55,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:55,857 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:41:55,869 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:41:55,869 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:41:55,870 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:55,888 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:41:55,889 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:41:55,892 INFO L87 Difference]: Start difference. First operand has 79 states, 53 states have (on average 1.830188679245283) internal successors, (97), 78 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 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:41:56,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,022 INFO L93 Difference]: Finished difference Result 77 states and 89 transitions. [2022-02-20 23:41:56,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:41:56,023 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:41:56,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:56,024 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:41:56,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-02-20 23:41:56,028 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:41:56,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-02-20 23:41:56,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-02-20 23:41:56,100 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:56,108 INFO L225 Difference]: With dead ends: 77 [2022-02-20 23:41:56,108 INFO L226 Difference]: Without dead ends: 75 [2022-02-20 23:41:56,110 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:41:56,118 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 77 mSDsluCounter, 5 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:56,118 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 68 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:56,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-02-20 23:41:56,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 75. [2022-02-20 23:41:56,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:56,138 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 75 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 74 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:56,139 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 75 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 74 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:56,140 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 75 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 74 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:56,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,143 INFO L93 Difference]: Finished difference Result 75 states and 87 transitions. [2022-02-20 23:41:56,143 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-02-20 23:41:56,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:56,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:56,145 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 74 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 75 states. [2022-02-20 23:41:56,145 INFO L87 Difference]: Start difference. First operand has 75 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 74 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 75 states. [2022-02-20 23:41:56,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,148 INFO L93 Difference]: Finished difference Result 75 states and 87 transitions. [2022-02-20 23:41:56,148 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-02-20 23:41:56,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:56,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:56,149 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:56,149 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:56,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 74 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:56,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 87 transitions. [2022-02-20 23:41:56,153 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 87 transitions. Word has length 7 [2022-02-20 23:41:56,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:56,153 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 87 transitions. [2022-02-20 23:41:56,153 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:41:56,154 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-02-20 23:41:56,154 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:41:56,154 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:56,154 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:56,154 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:41:56,154 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:56,155 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:56,155 INFO L85 PathProgramCache]: Analyzing trace with hash 1805029097, now seen corresponding path program 1 times [2022-02-20 23:41:56,155 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:56,155 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [76398724] [2022-02-20 23:41:56,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:56,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:56,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:56,221 INFO L290 TraceCheckUtils]: 0: Hoare triple {389#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {389#true} is VALID [2022-02-20 23:41:56,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {389#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {389#true} is VALID [2022-02-20 23:41:56,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {389#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {391#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:56,223 INFO L290 TraceCheckUtils]: 3: Hoare triple {391#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {392#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:56,224 INFO L290 TraceCheckUtils]: 4: Hoare triple {392#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {393#(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:41:56,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {393#(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 !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {393#(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:41:56,225 INFO L290 TraceCheckUtils]: 6: Hoare triple {393#(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); {390#false} is VALID [2022-02-20 23:41:56,225 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:41:56,226 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:56,226 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [76398724] [2022-02-20 23:41:56,226 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [76398724] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:56,226 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:56,226 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:56,226 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1918943] [2022-02-20 23:41:56,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:56,227 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:41:56,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:56,228 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:41:56,233 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:41:56,233 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:56,233 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:56,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:56,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:56,234 INFO L87 Difference]: Start difference. First operand 75 states and 87 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:41:56,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,436 INFO L93 Difference]: Finished difference Result 79 states and 91 transitions. [2022-02-20 23:41:56,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:56,436 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:41:56,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:56,436 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:41:56,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2022-02-20 23:41:56,438 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:41:56,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2022-02-20 23:41:56,440 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 93 transitions. [2022-02-20 23:41:56,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:56,520 INFO L225 Difference]: With dead ends: 79 [2022-02-20 23:41:56,521 INFO L226 Difference]: Without dead ends: 79 [2022-02-20 23:41:56,521 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:41:56,522 INFO L933 BasicCegarLoop]: 76 mSDtfsCounter, 172 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 172 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:56,522 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [172 Valid, 132 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:56,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-02-20 23:41:56,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 77. [2022-02-20 23:41:56,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:56,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 77 states, 54 states have (on average 1.6481481481481481) internal successors, (89), 76 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:56,527 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 77 states, 54 states have (on average 1.6481481481481481) internal successors, (89), 76 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:56,527 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 77 states, 54 states have (on average 1.6481481481481481) internal successors, (89), 76 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:56,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,529 INFO L93 Difference]: Finished difference Result 79 states and 91 transitions. [2022-02-20 23:41:56,530 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 91 transitions. [2022-02-20 23:41:56,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:56,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:56,531 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 54 states have (on average 1.6481481481481481) internal successors, (89), 76 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) Second operand 79 states. [2022-02-20 23:41:56,531 INFO L87 Difference]: Start difference. First operand has 77 states, 54 states have (on average 1.6481481481481481) internal successors, (89), 76 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) Second operand 79 states. [2022-02-20 23:41:56,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,533 INFO L93 Difference]: Finished difference Result 79 states and 91 transitions. [2022-02-20 23:41:56,533 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 91 transitions. [2022-02-20 23:41:56,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:56,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:56,534 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:56,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:56,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 54 states have (on average 1.6481481481481481) internal successors, (89), 76 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:56,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 89 transitions. [2022-02-20 23:41:56,536 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 89 transitions. Word has length 7 [2022-02-20 23:41:56,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:56,536 INFO L470 AbstractCegarLoop]: Abstraction has 77 states and 89 transitions. [2022-02-20 23:41:56,537 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:41:56,537 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 89 transitions. [2022-02-20 23:41:56,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:41:56,537 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:56,537 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:56,538 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:41:56,538 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:56,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:56,538 INFO L85 PathProgramCache]: Analyzing trace with hash -1906083540, now seen corresponding path program 1 times [2022-02-20 23:41:56,538 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:56,539 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1236763695] [2022-02-20 23:41:56,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:56,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:56,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:56,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {712#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {712#true} is VALID [2022-02-20 23:41:56,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {712#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {712#true} is VALID [2022-02-20 23:41:56,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {712#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:41:56,591 INFO L290 TraceCheckUtils]: 3: Hoare triple {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:41:56,591 INFO L290 TraceCheckUtils]: 4: Hoare triple {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:56,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:56,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:56,593 INFO L290 TraceCheckUtils]: 7: Hoare triple {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} havoc main_#t~nondet25#1; {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:56,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {715#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {716#(<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:41:56,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {716#(<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {713#false} is VALID [2022-02-20 23:41:56,594 INFO L290 TraceCheckUtils]: 10: Hoare triple {713#false} 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); {713#false} is VALID [2022-02-20 23:41:56,594 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:41:56,595 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:56,595 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1236763695] [2022-02-20 23:41:56,595 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1236763695] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:56,595 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [49825660] [2022-02-20 23:41:56,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:56,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:56,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:56,613 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:41:56,614 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:41:56,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:56,667 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:41:56,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:56,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:56,870 INFO L290 TraceCheckUtils]: 0: Hoare triple {712#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {712#true} is VALID [2022-02-20 23:41:56,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {712#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {712#true} is VALID [2022-02-20 23:41:56,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {712#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:41:56,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:41:56,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {714#(<= |ULTIMATE.start_main_~length1~0#1| 1)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:56,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:56,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:56,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~nondet25#1; {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:41:56,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {732#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~i~0#1|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {745#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:56,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {745#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {713#false} is VALID [2022-02-20 23:41:56,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {713#false} 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); {713#false} is VALID [2022-02-20 23:41:56,882 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:56,882 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:56,882 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [49825660] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:56,882 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:41:56,882 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 7 [2022-02-20 23:41:56,883 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1511291995] [2022-02-20 23:41:56,883 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:56,883 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 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:41:56,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:56,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call 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:56,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:56,892 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:56,892 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:56,893 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:56,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:41:56,893 INFO L87 Difference]: Start difference. First operand 77 states and 89 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call 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:57,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,142 INFO L93 Difference]: Finished difference Result 149 states and 171 transitions. [2022-02-20 23:41:57,142 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:57,143 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 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:41:57,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:57,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call 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:57,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 170 transitions. [2022-02-20 23:41:57,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call 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:57,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 170 transitions. [2022-02-20 23:41:57,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 170 transitions. [2022-02-20 23:41:57,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,285 INFO L225 Difference]: With dead ends: 149 [2022-02-20 23:41:57,286 INFO L226 Difference]: Without dead ends: 149 [2022-02-20 23:41:57,286 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:41:57,287 INFO L933 BasicCegarLoop]: 80 mSDtfsCounter, 155 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 155 SdHoareTripleChecker+Valid, 236 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:41:57,287 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [155 Valid, 236 Invalid, 29 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:57,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-02-20 23:41:57,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 84. [2022-02-20 23:41:57,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:57,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 84 states, 61 states have (on average 1.5901639344262295) internal successors, (97), 83 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:57,291 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 84 states, 61 states have (on average 1.5901639344262295) internal successors, (97), 83 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:57,292 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 84 states, 61 states have (on average 1.5901639344262295) internal successors, (97), 83 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:57,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,295 INFO L93 Difference]: Finished difference Result 149 states and 171 transitions. [2022-02-20 23:41:57,295 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 171 transitions. [2022-02-20 23:41:57,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,296 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 61 states have (on average 1.5901639344262295) internal successors, (97), 83 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 149 states. [2022-02-20 23:41:57,296 INFO L87 Difference]: Start difference. First operand has 84 states, 61 states have (on average 1.5901639344262295) internal successors, (97), 83 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 149 states. [2022-02-20 23:41:57,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,299 INFO L93 Difference]: Finished difference Result 149 states and 171 transitions. [2022-02-20 23:41:57,300 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 171 transitions. [2022-02-20 23:41:57,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:57,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:57,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 61 states have (on average 1.5901639344262295) internal successors, (97), 83 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:57,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 97 transitions. [2022-02-20 23:41:57,302 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 97 transitions. Word has length 11 [2022-02-20 23:41:57,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:57,303 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 97 transitions. [2022-02-20 23:41:57,303 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call 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:57,303 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 97 transitions. [2022-02-20 23:41:57,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:41:57,303 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:57,304 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:57,321 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:41:57,521 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:57,521 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:57,522 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:57,522 INFO L85 PathProgramCache]: Analyzing trace with hash -1226025170, now seen corresponding path program 1 times [2022-02-20 23:41:57,522 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:57,522 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1305493639] [2022-02-20 23:41:57,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:57,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:57,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,598 INFO L290 TraceCheckUtils]: 0: Hoare triple {1282#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1282#true} is VALID [2022-02-20 23:41:57,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {1282#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {1282#true} is VALID [2022-02-20 23:41:57,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {1282#true} assume !(main_~length1~0#1 < 1); {1282#true} is VALID [2022-02-20 23:41:57,599 INFO L290 TraceCheckUtils]: 3: Hoare triple {1282#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1282#true} is VALID [2022-02-20 23:41:57,600 INFO L290 TraceCheckUtils]: 4: Hoare triple {1282#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {1284#(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:41:57,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {1284#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1284#(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:41:57,601 INFO L290 TraceCheckUtils]: 6: Hoare triple {1284#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {1284#(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:41:57,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {1284#(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~nondet25#1; {1284#(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:41:57,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {1284#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {1285#(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:41:57,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {1285#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1286#(and (<= (+ |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:57,603 INFO L290 TraceCheckUtils]: 10: Hoare triple {1286#(and (<= (+ |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |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); {1283#false} is VALID [2022-02-20 23:41:57,604 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:41:57,604 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:57,604 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1305493639] [2022-02-20 23:41:57,604 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1305493639] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:57,604 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1016318337] [2022-02-20 23:41:57,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:57,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:57,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:57,620 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:41:57,643 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:41:57,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,693 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:41:57,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:57,813 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:41:57,826 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:57,838 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:57,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {1282#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1282#true} is VALID [2022-02-20 23:41:57,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {1282#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {1282#true} is VALID [2022-02-20 23:41:57,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {1282#true} assume !(main_~length1~0#1 < 1); {1282#true} is VALID [2022-02-20 23:41:57,951 INFO L290 TraceCheckUtils]: 3: Hoare triple {1282#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1282#true} is VALID [2022-02-20 23:41:57,952 INFO L290 TraceCheckUtils]: 4: Hoare triple {1282#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {1302#(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:41:57,952 INFO L290 TraceCheckUtils]: 5: Hoare triple {1302#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1302#(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:41:57,953 INFO L290 TraceCheckUtils]: 6: Hoare triple {1302#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {1302#(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:41:57,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {1302#(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~nondet25#1; {1302#(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:41:57,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {1302#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {1285#(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:41:57,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {1285#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1286#(and (<= (+ |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:57,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {1286#(and (<= (+ |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |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); {1283#false} is VALID [2022-02-20 23:41:57,966 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:41:57,966 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:58,393 INFO L290 TraceCheckUtils]: 10: Hoare triple {1321#(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); {1283#false} is VALID [2022-02-20 23:41:58,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {1325#(or (not (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|)) (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 !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1321#(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:41:58,394 INFO L290 TraceCheckUtils]: 8: Hoare triple {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {1325#(or (not (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|)) (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:41:58,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet25#1; {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:41:58,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:41:58,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:41:58,397 INFO L290 TraceCheckUtils]: 4: Hoare triple {1282#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {1329#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:41:58,398 INFO L290 TraceCheckUtils]: 3: Hoare triple {1282#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1282#true} is VALID [2022-02-20 23:41:58,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {1282#true} assume !(main_~length1~0#1 < 1); {1282#true} is VALID [2022-02-20 23:41:58,398 INFO L290 TraceCheckUtils]: 1: Hoare triple {1282#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {1282#true} is VALID [2022-02-20 23:41:58,398 INFO L290 TraceCheckUtils]: 0: Hoare triple {1282#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1282#true} is VALID [2022-02-20 23:41:58,399 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:41:58,401 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1016318337] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:58,401 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:58,401 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2022-02-20 23:41:58,402 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1807932391] [2022-02-20 23:41:58,402 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:58,402 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:41:58,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:58,402 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:41:58,419 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:41:58,419 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:41:58,419 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:58,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:41:58,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:41:58,421 INFO L87 Difference]: Start difference. First operand 84 states and 97 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:41:58,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,819 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-02-20 23:41:58,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:41:58,819 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:41:58,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:58,819 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:41:58,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 91 transitions. [2022-02-20 23:41:58,820 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:41:58,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 91 transitions. [2022-02-20 23:41:58,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 91 transitions. [2022-02-20 23:41:58,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:58,870 INFO L225 Difference]: With dead ends: 85 [2022-02-20 23:41:58,871 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 23:41:58,871 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 16 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:41:58,871 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 85 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:58,871 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 233 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:58,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 23:41:58,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 82. [2022-02-20 23:41:58,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:58,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 82 states, 60 states have (on average 1.5833333333333333) internal successors, (95), 81 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call 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:58,874 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 82 states, 60 states have (on average 1.5833333333333333) internal successors, (95), 81 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call 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:58,874 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 82 states, 60 states have (on average 1.5833333333333333) internal successors, (95), 81 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call 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:58,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,876 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-02-20 23:41:58,876 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 98 transitions. [2022-02-20 23:41:58,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:58,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:58,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 60 states have (on average 1.5833333333333333) internal successors, (95), 81 states have internal predecessors, (95), 0 states have call successors, (0), 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 85 states. [2022-02-20 23:41:58,879 INFO L87 Difference]: Start difference. First operand has 82 states, 60 states have (on average 1.5833333333333333) internal successors, (95), 81 states have internal predecessors, (95), 0 states have call successors, (0), 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 85 states. [2022-02-20 23:41:58,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,881 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-02-20 23:41:58,881 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 98 transitions. [2022-02-20 23:41:58,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:58,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:58,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:58,881 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:58,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 60 states have (on average 1.5833333333333333) internal successors, (95), 81 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call 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:58,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 95 transitions. [2022-02-20 23:41:58,883 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 95 transitions. Word has length 11 [2022-02-20 23:41:58,883 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:58,883 INFO L470 AbstractCegarLoop]: Abstraction has 82 states and 95 transitions. [2022-02-20 23:41:58,883 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:41:58,883 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 95 transitions. [2022-02-20 23:41:58,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:41:58,884 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:58,884 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:58,901 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:41:59,100 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,SelfDestructingSolverStorable3 [2022-02-20 23:41:59,100 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:59,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:59,101 INFO L85 PathProgramCache]: Analyzing trace with hash -2090265437, now seen corresponding path program 1 times [2022-02-20 23:41:59,101 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:59,101 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2120368219] [2022-02-20 23:41:59,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:59,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:59,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:59,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {1694#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1694#true} is VALID [2022-02-20 23:41:59,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {1694#true} is VALID [2022-02-20 23:41:59,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1694#true} is VALID [2022-02-20 23:41:59,158 INFO L290 TraceCheckUtils]: 3: Hoare triple {1694#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,158 INFO L290 TraceCheckUtils]: 4: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet25#1; {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1); {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,160 INFO L290 TraceCheckUtils]: 10: Hoare triple {1696#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} main_~i~1#1 := 0; {1697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:59,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {1697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1); {1695#false} is VALID [2022-02-20 23:41:59,160 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#false} 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)); {1695#false} is VALID [2022-02-20 23:41:59,161 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:59,161 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:59,161 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2120368219] [2022-02-20 23:41:59,161 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2120368219] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:59,161 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:59,161 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:59,161 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1854326662] [2022-02-20 23:41:59,161 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:59,161 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 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:41:59,161 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:59,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:59,170 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:59,170 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:59,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:59,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:59,170 INFO L87 Difference]: Start difference. First operand 82 states and 95 transitions. Second operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:59,255 INFO L93 Difference]: Finished difference Result 88 states and 101 transitions. [2022-02-20 23:41:59,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:59,255 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 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:41:59,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:59,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 93 transitions. [2022-02-20 23:41:59,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 93 transitions. [2022-02-20 23:41:59,257 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 93 transitions. [2022-02-20 23:41:59,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:59,297 INFO L225 Difference]: With dead ends: 88 [2022-02-20 23:41:59,297 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 23:41:59,298 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:41:59,298 INFO L933 BasicCegarLoop]: 78 mSDtfsCounter, 79 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 79 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:59,298 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [79 Valid, 155 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:59,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 23:41:59,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 83. [2022-02-20 23:41:59,301 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:59,301 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 83 states, 61 states have (on average 1.5737704918032787) internal successors, (96), 82 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call 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:59,301 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 83 states, 61 states have (on average 1.5737704918032787) internal successors, (96), 82 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call 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:59,301 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 83 states, 61 states have (on average 1.5737704918032787) internal successors, (96), 82 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call 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:59,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:59,303 INFO L93 Difference]: Finished difference Result 88 states and 101 transitions. [2022-02-20 23:41:59,303 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2022-02-20 23:41:59,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:59,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:59,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 61 states have (on average 1.5737704918032787) internal successors, (96), 82 states have internal predecessors, (96), 0 states have call successors, (0), 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:41:59,304 INFO L87 Difference]: Start difference. First operand has 83 states, 61 states have (on average 1.5737704918032787) internal successors, (96), 82 states have internal predecessors, (96), 0 states have call successors, (0), 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:41:59,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:59,305 INFO L93 Difference]: Finished difference Result 88 states and 101 transitions. [2022-02-20 23:41:59,305 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2022-02-20 23:41:59,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:59,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:59,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:59,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:59,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 61 states have (on average 1.5737704918032787) internal successors, (96), 82 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call 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:59,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 96 transitions. [2022-02-20 23:41:59,307 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 96 transitions. Word has length 13 [2022-02-20 23:41:59,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:59,307 INFO L470 AbstractCegarLoop]: Abstraction has 83 states and 96 transitions. [2022-02-20 23:41:59,308 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,308 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 96 transitions. [2022-02-20 23:41:59,308 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:41:59,308 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:59,308 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:59,308 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:41:59,308 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:59,309 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:59,309 INFO L85 PathProgramCache]: Analyzing trace with hash -2090265385, now seen corresponding path program 1 times [2022-02-20 23:41:59,309 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:59,309 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1957036406] [2022-02-20 23:41:59,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:59,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:59,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:59,382 INFO L290 TraceCheckUtils]: 0: Hoare triple {2047#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2047#true} is VALID [2022-02-20 23:41:59,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {2047#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {2047#true} is VALID [2022-02-20 23:41:59,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {2047#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2049#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:59,383 INFO L290 TraceCheckUtils]: 3: Hoare triple {2049#(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; {2049#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:59,383 INFO L290 TraceCheckUtils]: 4: Hoare triple {2049#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {2050#(or (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)))} is VALID [2022-02-20 23:41:59,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {2050#(or (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {2050#(or (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)))} is VALID [2022-02-20 23:41:59,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {2050#(or (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:59,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} havoc main_#t~nondet25#1; {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:59,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:59,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(main_~i~0#1 < main_~length1~0#1); {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:59,386 INFO L290 TraceCheckUtils]: 10: Hoare triple {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} main_~i~1#1 := 0; {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:59,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:59,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {2051#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(1 == #valid[main_~nondetString2~0#1.base]); {2048#false} is VALID [2022-02-20 23:41:59,386 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:41:59,386 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:59,386 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1957036406] [2022-02-20 23:41:59,387 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1957036406] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:59,387 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:59,387 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:59,387 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [825225132] [2022-02-20 23:41:59,387 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:59,387 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 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:41:59,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:59,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:59,395 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:59,395 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:59,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:59,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:59,395 INFO L87 Difference]: Start difference. First operand 83 states and 96 transitions. Second operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:59,630 INFO L93 Difference]: Finished difference Result 145 states and 167 transitions. [2022-02-20 23:41:59,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:59,631 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 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:41:59,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:59,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 168 transitions. [2022-02-20 23:41:59,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 168 transitions. [2022-02-20 23:41:59,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 168 transitions. [2022-02-20 23:41:59,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:59,754 INFO L225 Difference]: With dead ends: 145 [2022-02-20 23:41:59,754 INFO L226 Difference]: Without dead ends: 145 [2022-02-20 23:41:59,755 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:41:59,756 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 364 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 364 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:59,756 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [364 Valid, 113 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:59,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2022-02-20 23:41:59,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 81. [2022-02-20 23:41:59,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:59,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand has 81 states, 61 states have (on average 1.540983606557377) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call 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:59,764 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand has 81 states, 61 states have (on average 1.540983606557377) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call 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:59,765 INFO L87 Difference]: Start difference. First operand 145 states. Second operand has 81 states, 61 states have (on average 1.540983606557377) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call 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:59,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:59,768 INFO L93 Difference]: Finished difference Result 145 states and 167 transitions. [2022-02-20 23:41:59,768 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 167 transitions. [2022-02-20 23:41:59,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:59,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:59,768 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 61 states have (on average 1.540983606557377) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 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 145 states. [2022-02-20 23:41:59,768 INFO L87 Difference]: Start difference. First operand has 81 states, 61 states have (on average 1.540983606557377) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 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 145 states. [2022-02-20 23:41:59,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:59,771 INFO L93 Difference]: Finished difference Result 145 states and 167 transitions. [2022-02-20 23:41:59,771 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 167 transitions. [2022-02-20 23:41:59,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:59,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:59,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:59,771 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:59,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 61 states have (on average 1.540983606557377) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call 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:59,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-02-20 23:41:59,773 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 13 [2022-02-20 23:41:59,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:59,773 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-02-20 23:41:59,773 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,773 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-02-20 23:41:59,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:41:59,774 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:59,774 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:59,774 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:41:59,774 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:41:59,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:59,775 INFO L85 PathProgramCache]: Analyzing trace with hash -2090265384, now seen corresponding path program 1 times [2022-02-20 23:41:59,775 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:59,775 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1464519046] [2022-02-20 23:41:59,775 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:59,775 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:59,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:59,846 INFO L290 TraceCheckUtils]: 0: Hoare triple {2572#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2572#true} is VALID [2022-02-20 23:41:59,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {2572#true} is VALID [2022-02-20 23:41:59,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2572#true} is VALID [2022-02-20 23:41:59,847 INFO L290 TraceCheckUtils]: 3: Hoare triple {2572#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2574#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,848 INFO L290 TraceCheckUtils]: 4: Hoare triple {2574#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} havoc main_#t~nondet25#1; {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |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); {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,851 INFO L290 TraceCheckUtils]: 10: Hoare triple {2575#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_~i~1#1 := 0; {2576#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:59,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {2576#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {2577#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:59,854 INFO L290 TraceCheckUtils]: 12: Hoare triple {2577#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 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); {2573#false} is VALID [2022-02-20 23:41:59,854 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:59,854 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:59,854 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1464519046] [2022-02-20 23:41:59,854 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1464519046] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:59,854 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:59,855 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:41:59,855 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925849424] [2022-02-20 23:41:59,855 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:59,855 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 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:41:59,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:59,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call 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:59,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:59,865 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:41:59,865 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:59,865 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:41:59,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:41:59,865 INFO L87 Difference]: Start difference. First operand 81 states and 94 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:00,045 INFO L93 Difference]: Finished difference Result 83 states and 96 transitions. [2022-02-20 23:42:00,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:00,045 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 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:42:00,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:00,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 89 transitions. [2022-02-20 23:42:00,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 89 transitions. [2022-02-20 23:42:00,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 89 transitions. [2022-02-20 23:42:00,115 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:42:00,116 INFO L225 Difference]: With dead ends: 83 [2022-02-20 23:42:00,116 INFO L226 Difference]: Without dead ends: 83 [2022-02-20 23:42:00,116 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:42:00,117 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 159 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 63 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:00,117 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [159 Valid, 113 Invalid, 63 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:00,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-02-20 23:42:00,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 81. [2022-02-20 23:42:00,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:00,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 81 states, 62 states have (on average 1.5161290322580645) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,119 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 81 states, 62 states have (on average 1.5161290322580645) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,120 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 81 states, 62 states have (on average 1.5161290322580645) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:00,121 INFO L93 Difference]: Finished difference Result 83 states and 96 transitions. [2022-02-20 23:42:00,121 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 96 transitions. [2022-02-20 23:42:00,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:00,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:00,121 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 62 states have (on average 1.5161290322580645) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 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 83 states. [2022-02-20 23:42:00,121 INFO L87 Difference]: Start difference. First operand has 81 states, 62 states have (on average 1.5161290322580645) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 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 83 states. [2022-02-20 23:42:00,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:00,123 INFO L93 Difference]: Finished difference Result 83 states and 96 transitions. [2022-02-20 23:42:00,123 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 96 transitions. [2022-02-20 23:42:00,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:00,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:00,123 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:00,123 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:00,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 62 states have (on average 1.5161290322580645) internal successors, (94), 80 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-02-20 23:42:00,125 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 13 [2022-02-20 23:42:00,125 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:00,125 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-02-20 23:42:00,125 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 6 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:00,125 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-02-20 23:42:00,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:42:00,126 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:00,126 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:00,126 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 23:42:00,126 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:00,126 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:00,126 INFO L85 PathProgramCache]: Analyzing trace with hash -862198810, now seen corresponding path program 1 times [2022-02-20 23:42:00,126 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:00,127 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446217941] [2022-02-20 23:42:00,127 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:00,127 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:00,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:00,197 INFO L290 TraceCheckUtils]: 0: Hoare triple {2910#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2910#true} is VALID [2022-02-20 23:42:00,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {2910#true} is VALID [2022-02-20 23:42:00,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:00,199 INFO L290 TraceCheckUtils]: 3: Hoare triple {2912#(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; {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:00,199 INFO L290 TraceCheckUtils]: 4: Hoare triple {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {2913#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:00,200 INFO L290 TraceCheckUtils]: 5: Hoare triple {2913#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {2913#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:00,200 INFO L290 TraceCheckUtils]: 6: Hoare triple {2913#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {2914#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {2914#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet25#1; {2914#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {2914#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,203 INFO L290 TraceCheckUtils]: 9: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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); {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,204 INFO L290 TraceCheckUtils]: 10: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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; {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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))} havoc main_#t~nondet27#1; {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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); {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:00,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {2915#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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)); {2911#false} is VALID [2022-02-20 23:42:00,217 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:00,217 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:00,217 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446217941] [2022-02-20 23:42:00,217 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [446217941] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:00,217 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1230920842] [2022-02-20 23:42:00,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:00,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:00,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:00,219 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:42:00,221 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:42:00,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:00,266 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:42:00,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:00,273 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:00,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {2910#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2910#true} is VALID [2022-02-20 23:42:00,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {2910#true} is VALID [2022-02-20 23:42:00,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:00,476 INFO L290 TraceCheckUtils]: 3: Hoare triple {2912#(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; {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:00,477 INFO L290 TraceCheckUtils]: 4: Hoare triple {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {2931#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:42:00,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {2931#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {2931#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:42:00,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {2931#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= 0 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet25#1; {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1); {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_~i~1#1 := 0; {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet27#1; {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1); {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:00,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {2938#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} 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)); {2911#false} is VALID [2022-02-20 23:42:00,482 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:00,482 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:00,575 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 23 treesize of output 19 [2022-02-20 23:42:00,752 INFO L290 TraceCheckUtils]: 16: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} 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)); {2911#false} is VALID [2022-02-20 23:42:00,752 INFO L290 TraceCheckUtils]: 15: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} assume !(main_~i~1#1 < main_~length2~0#1); {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet27#1; {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} main_~i~1#1 := 0; {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} assume !(main_~i~0#1 < main_~length1~0#1); {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet25#1; {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,757 INFO L290 TraceCheckUtils]: 6: Hoare triple {3000#(and (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {2969#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {3000#(and (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {3000#(and (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,758 INFO L290 TraceCheckUtils]: 4: Hoare triple {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {3000#(and (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= 1 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:00,758 INFO L290 TraceCheckUtils]: 3: Hoare triple {2912#(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; {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:00,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2912#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:00,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {2910#true} is VALID [2022-02-20 23:42:00,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {2910#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2910#true} is VALID [2022-02-20 23:42:00,759 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:00,759 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1230920842] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:00,759 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:00,759 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 9 [2022-02-20 23:42:00,760 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1317269647] [2022-02-20 23:42:00,760 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:00,760 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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) Word has length 17 [2022-02-20 23:42:00,760 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:00,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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:42:00,791 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:42:00,792 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:42:00,792 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:00,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:42:00,793 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:42:00,793 INFO L87 Difference]: Start difference. First operand 81 states and 94 transitions. Second operand has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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:42:01,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:01,450 INFO L93 Difference]: Finished difference Result 144 states and 166 transitions. [2022-02-20 23:42:01,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:42:01,451 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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) Word has length 17 [2022-02-20 23:42:01,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:01,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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:42:01,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 162 transitions. [2022-02-20 23:42:01,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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:42:01,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 162 transitions. [2022-02-20 23:42:01,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 162 transitions. [2022-02-20 23:42:01,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:01,577 INFO L225 Difference]: With dead ends: 144 [2022-02-20 23:42:01,577 INFO L226 Difference]: Without dead ends: 144 [2022-02-20 23:42:01,577 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 28 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:42:01,578 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 478 mSDsluCounter, 270 mSDsCounter, 0 mSdLazyCounter, 162 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 478 SdHoareTripleChecker+Valid, 327 SdHoareTripleChecker+Invalid, 168 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 162 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:01,578 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [478 Valid, 327 Invalid, 168 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 162 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:01,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-02-20 23:42:01,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 89. [2022-02-20 23:42:01,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:01,580 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 89 states, 70 states have (on average 1.4857142857142858) internal successors, (104), 88 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:01,580 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 89 states, 70 states have (on average 1.4857142857142858) internal successors, (104), 88 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:01,580 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 89 states, 70 states have (on average 1.4857142857142858) internal successors, (104), 88 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:01,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:01,582 INFO L93 Difference]: Finished difference Result 144 states and 166 transitions. [2022-02-20 23:42:01,582 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 166 transitions. [2022-02-20 23:42:01,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:01,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:01,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 70 states have (on average 1.4857142857142858) internal successors, (104), 88 states have internal predecessors, (104), 0 states have call successors, (0), 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 144 states. [2022-02-20 23:42:01,584 INFO L87 Difference]: Start difference. First operand has 89 states, 70 states have (on average 1.4857142857142858) internal successors, (104), 88 states have internal predecessors, (104), 0 states have call successors, (0), 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 144 states. [2022-02-20 23:42:01,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:01,586 INFO L93 Difference]: Finished difference Result 144 states and 166 transitions. [2022-02-20 23:42:01,586 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 166 transitions. [2022-02-20 23:42:01,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:01,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:01,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:01,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:01,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 70 states have (on average 1.4857142857142858) internal successors, (104), 88 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:01,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 104 transitions. [2022-02-20 23:42:01,589 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 104 transitions. Word has length 17 [2022-02-20 23:42:01,589 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:01,590 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 104 transitions. [2022-02-20 23:42:01,590 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 4.777777777777778) internal successors, (43), 10 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:42:01,590 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 104 transitions. [2022-02-20 23:42:01,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:42:01,591 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:01,591 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:01,639 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:42:01,807 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:01,807 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:01,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:01,808 INFO L85 PathProgramCache]: Analyzing trace with hash -862198757, now seen corresponding path program 1 times [2022-02-20 23:42:01,808 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:01,808 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1407518096] [2022-02-20 23:42:01,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:01,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:01,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:01,885 INFO L290 TraceCheckUtils]: 0: Hoare triple {3543#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3543#true} is VALID [2022-02-20 23:42:01,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {3543#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {3543#true} is VALID [2022-02-20 23:42:01,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {3543#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3543#true} is VALID [2022-02-20 23:42:01,885 INFO L290 TraceCheckUtils]: 3: Hoare triple {3543#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,886 INFO L290 TraceCheckUtils]: 4: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} havoc main_#t~nondet25#1; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} assume !(main_~i~0#1 < main_~length1~0#1); {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:01,887 INFO L290 TraceCheckUtils]: 10: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} main_~i~1#1 := 0; {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:01,887 INFO L290 TraceCheckUtils]: 11: Hoare triple {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:01,888 INFO L290 TraceCheckUtils]: 12: Hoare triple {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:01,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} havoc main_#t~nondet27#1; {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:01,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {3546#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {3547#(<= |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:01,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {3547#(<= |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {3544#false} is VALID [2022-02-20 23:42:01,889 INFO L290 TraceCheckUtils]: 16: Hoare triple {3544#false} 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); {3544#false} is VALID [2022-02-20 23:42:01,889 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:01,889 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:01,889 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1407518096] [2022-02-20 23:42:01,889 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1407518096] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:01,889 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [506694872] [2022-02-20 23:42:01,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:01,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:01,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:01,890 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:42:01,892 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:42:02,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:02,042 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:42:02,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:02,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:02,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {3543#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3543#true} is VALID [2022-02-20 23:42:02,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {3543#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {3543#true} is VALID [2022-02-20 23:42:02,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {3543#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3543#true} is VALID [2022-02-20 23:42:02,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {3543#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} havoc main_#t~nondet25#1; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} assume !(main_~i~0#1 < main_~length1~0#1); {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:02,184 INFO L290 TraceCheckUtils]: 10: Hoare triple {3545#(<= |ULTIMATE.start_main_~length2~0#1| 1)} main_~i~1#1 := 0; {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:02,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:02,185 INFO L290 TraceCheckUtils]: 12: Hoare triple {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:02,185 INFO L290 TraceCheckUtils]: 13: Hoare triple {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} havoc main_#t~nondet27#1; {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:02,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {3581#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {3594#(and (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:02,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {3594#(and (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {3544#false} is VALID [2022-02-20 23:42:02,187 INFO L290 TraceCheckUtils]: 16: Hoare triple {3544#false} 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); {3544#false} is VALID [2022-02-20 23:42:02,187 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:02,187 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:42:02,188 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [506694872] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:02,188 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:42:02,188 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 7 [2022-02-20 23:42:02,188 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161195965] [2022-02-20 23:42:02,188 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:02,189 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 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 17 [2022-02-20 23:42:02,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:02,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:02,204 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:42:02,204 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:02,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:42:02,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:42:02,205 INFO L87 Difference]: Start difference. First operand 89 states and 104 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,369 INFO L93 Difference]: Finished difference Result 170 states and 194 transitions. [2022-02-20 23:42:02,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:02,369 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 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 17 [2022-02-20 23:42:02,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:02,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 160 transitions. [2022-02-20 23:42:02,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 160 transitions. [2022-02-20 23:42:02,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 160 transitions. [2022-02-20 23:42:02,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:02,459 INFO L225 Difference]: With dead ends: 170 [2022-02-20 23:42:02,459 INFO L226 Difference]: Without dead ends: 170 [2022-02-20 23:42:02,459 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:42:02,460 INFO L933 BasicCegarLoop]: 77 mSDtfsCounter, 69 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:02,460 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 230 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:02,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 170 states. [2022-02-20 23:42:02,463 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 170 to 113. [2022-02-20 23:42:02,463 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:02,463 INFO L82 GeneralOperation]: Start isEquivalent. First operand 170 states. Second operand has 113 states, 94 states have (on average 1.372340425531915) internal successors, (129), 112 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,463 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand has 113 states, 94 states have (on average 1.372340425531915) internal successors, (129), 112 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,463 INFO L87 Difference]: Start difference. First operand 170 states. Second operand has 113 states, 94 states have (on average 1.372340425531915) internal successors, (129), 112 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,476 INFO L93 Difference]: Finished difference Result 170 states and 194 transitions. [2022-02-20 23:42:02,476 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 194 transitions. [2022-02-20 23:42:02,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:02,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:02,477 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 94 states have (on average 1.372340425531915) internal successors, (129), 112 states have internal predecessors, (129), 0 states have call successors, (0), 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 170 states. [2022-02-20 23:42:02,477 INFO L87 Difference]: Start difference. First operand has 113 states, 94 states have (on average 1.372340425531915) internal successors, (129), 112 states have internal predecessors, (129), 0 states have call successors, (0), 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 170 states. [2022-02-20 23:42:02,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,480 INFO L93 Difference]: Finished difference Result 170 states and 194 transitions. [2022-02-20 23:42:02,480 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 194 transitions. [2022-02-20 23:42:02,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:02,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:02,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:02,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:02,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 94 states have (on average 1.372340425531915) internal successors, (129), 112 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 129 transitions. [2022-02-20 23:42:02,482 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 129 transitions. Word has length 17 [2022-02-20 23:42:02,482 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:02,482 INFO L470 AbstractCegarLoop]: Abstraction has 113 states and 129 transitions. [2022-02-20 23:42:02,483 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,483 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 129 transitions. [2022-02-20 23:42:02,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:42:02,483 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:02,483 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:02,534 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:42:02,711 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:02,711 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:02,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:02,712 INFO L85 PathProgramCache]: Analyzing trace with hash -1873316007, now seen corresponding path program 1 times [2022-02-20 23:42:02,712 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:02,712 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [636361644] [2022-02-20 23:42:02,712 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:02,712 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:02,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:02,807 INFO L290 TraceCheckUtils]: 0: Hoare triple {4223#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4223#true} is VALID [2022-02-20 23:42:02,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {4223#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {4223#true} is VALID [2022-02-20 23:42:02,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {4223#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4223#true} is VALID [2022-02-20 23:42:02,807 INFO L290 TraceCheckUtils]: 3: Hoare triple {4223#true} assume !(main_~length2~0#1 < 1); {4223#true} is VALID [2022-02-20 23:42:02,808 INFO L290 TraceCheckUtils]: 4: Hoare triple {4223#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {4225#(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:42:02,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {4225#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {4225#(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:42:02,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {4225#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {4225#(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:42:02,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {4225#(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~nondet25#1; {4225#(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:42:02,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {4225#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {4225#(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:42:02,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {4225#(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); {4225#(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:42:02,811 INFO L290 TraceCheckUtils]: 10: Hoare triple {4225#(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; {4226#(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:42:02,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {4226#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4226#(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:42:02,815 INFO L290 TraceCheckUtils]: 12: Hoare triple {4226#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {4226#(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:42:02,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#(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~nondet27#1; {4226#(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:42:02,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {4227#(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:42:02,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {4227#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4228#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:02,817 INFO L290 TraceCheckUtils]: 16: Hoare triple {4228#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#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); {4224#false} is VALID [2022-02-20 23:42:02,817 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:02,817 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:02,818 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [636361644] [2022-02-20 23:42:02,818 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [636361644] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:02,818 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558155457] [2022-02-20 23:42:02,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:02,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:02,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:02,819 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:42:02,826 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:42:02,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:02,915 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:42:02,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:02,926 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:02,982 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:02,983 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:42:03,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {4223#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4223#true} is VALID [2022-02-20 23:42:03,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {4223#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {4223#true} is VALID [2022-02-20 23:42:03,102 INFO L290 TraceCheckUtils]: 2: Hoare triple {4223#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4223#true} is VALID [2022-02-20 23:42:03,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {4223#true} assume !(main_~length2~0#1 < 1); {4223#true} is VALID [2022-02-20 23:42:03,103 INFO L290 TraceCheckUtils]: 4: Hoare triple {4223#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {4225#(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:42:03,103 INFO L290 TraceCheckUtils]: 5: Hoare triple {4225#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {4225#(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:42:03,103 INFO L290 TraceCheckUtils]: 6: Hoare triple {4225#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {4225#(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:42:03,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {4225#(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~nondet25#1; {4225#(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:42:03,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {4225#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {4225#(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:42:03,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {4225#(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); {4225#(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:42:03,105 INFO L290 TraceCheckUtils]: 10: Hoare triple {4225#(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; {4262#(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:42:03,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {4262#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4262#(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:42:03,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {4262#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {4262#(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:42:03,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {4262#(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~nondet27#1; {4262#(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:42:03,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {4262#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {4227#(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:42:03,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {4227#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4228#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:03,108 INFO L290 TraceCheckUtils]: 16: Hoare triple {4228#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#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); {4224#false} is VALID [2022-02-20 23:42:03,108 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:03,108 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:03,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {4281#(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); {4224#false} is VALID [2022-02-20 23:42:03,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {4285#(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| |ULTIMATE.start_main_~length2~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4281#(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:42:03,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {4285#(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| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:03,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} havoc main_#t~nondet27#1; {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:42:03,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:42:03,424 INFO L290 TraceCheckUtils]: 11: Hoare triple {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:42:03,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} main_~i~1#1 := 0; {4289#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (or (<= (+ |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_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:42:03,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} assume !(main_~i~0#1 < main_~length1~0#1); {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} havoc main_#t~nondet25#1; {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:03,427 INFO L290 TraceCheckUtils]: 6: Hoare triple {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:03,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:03,428 INFO L290 TraceCheckUtils]: 4: Hoare triple {4223#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {4302#(and (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 1)) (or (<= (+ |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_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:03,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {4223#true} assume !(main_~length2~0#1 < 1); {4223#true} is VALID [2022-02-20 23:42:03,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {4223#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4223#true} is VALID [2022-02-20 23:42:03,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {4223#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {4223#true} is VALID [2022-02-20 23:42:03,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {4223#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4223#true} is VALID [2022-02-20 23:42:03,429 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:03,429 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558155457] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:03,429 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:03,429 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 23:42:03,429 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1973634181] [2022-02-20 23:42:03,429 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:03,430 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 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 17 [2022-02-20 23:42:03,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:03,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:03,455 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:42:03,455 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:03,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:42:03,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:42:03,456 INFO L87 Difference]: Start difference. First operand 113 states and 129 transitions. Second operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:03,788 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-02-20 23:42:03,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:42:03,797 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 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 17 [2022-02-20 23:42:03,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:03,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 88 transitions. [2022-02-20 23:42:03,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 88 transitions. [2022-02-20 23:42:03,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 88 transitions. [2022-02-20 23:42:03,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:03,859 INFO L225 Difference]: With dead ends: 116 [2022-02-20 23:42:03,859 INFO L226 Difference]: Without dead ends: 116 [2022-02-20 23:42:03,859 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=100, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:42:03,859 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 215 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 215 SdHoareTripleChecker+Valid, 212 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:03,861 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [215 Valid, 212 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:03,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-02-20 23:42:03,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 110. [2022-02-20 23:42:03,863 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:03,863 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 110 states, 92 states have (on average 1.358695652173913) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,863 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 110 states, 92 states have (on average 1.358695652173913) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,863 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 110 states, 92 states have (on average 1.358695652173913) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:03,865 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-02-20 23:42:03,865 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 131 transitions. [2022-02-20 23:42:03,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:03,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:03,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 92 states have (on average 1.358695652173913) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 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 116 states. [2022-02-20 23:42:03,865 INFO L87 Difference]: Start difference. First operand has 110 states, 92 states have (on average 1.358695652173913) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 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 116 states. [2022-02-20 23:42:03,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:03,867 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-02-20 23:42:03,867 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 131 transitions. [2022-02-20 23:42:03,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:03,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:03,868 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:03,868 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:03,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 92 states have (on average 1.358695652173913) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 125 transitions. [2022-02-20 23:42:03,878 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 125 transitions. Word has length 17 [2022-02-20 23:42:03,878 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:03,878 INFO L470 AbstractCegarLoop]: Abstraction has 110 states and 125 transitions. [2022-02-20 23:42:03,878 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 11 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,878 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 125 transitions. [2022-02-20 23:42:03,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:42:03,878 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:03,878 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:03,902 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:42:04,099 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,SelfDestructingSolverStorable9 [2022-02-20 23:42:04,100 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:04,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:04,100 INFO L85 PathProgramCache]: Analyzing trace with hash -2142062488, now seen corresponding path program 1 times [2022-02-20 23:42:04,100 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:04,100 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195934628] [2022-02-20 23:42:04,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:04,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:04,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:04,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {4794#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4794#true} is VALID [2022-02-20 23:42:04,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {4794#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {4794#true} is VALID [2022-02-20 23:42:04,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {4794#true} assume !(main_~length1~0#1 < 1); {4796#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:04,183 INFO L290 TraceCheckUtils]: 3: Hoare triple {4796#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4796#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:04,184 INFO L290 TraceCheckUtils]: 4: Hoare triple {4796#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {4797#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:04,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {4797#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {4797#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:04,185 INFO L290 TraceCheckUtils]: 6: Hoare triple {4797#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {4798#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 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:42:04,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {4798#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 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))} havoc main_#t~nondet25#1; {4798#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 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:42:04,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {4798#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 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_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {4799#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:04,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {4799#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1); {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,188 INFO L290 TraceCheckUtils]: 10: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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; {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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))} havoc main_#t~nondet27#1; {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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); {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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:42:04,193 INFO L290 TraceCheckUtils]: 16: Hoare triple {4800#(and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |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)); {4795#false} is VALID [2022-02-20 23:42:04,193 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:04,193 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:04,193 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1195934628] [2022-02-20 23:42:04,193 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1195934628] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:04,193 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:04,194 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:42:04,195 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1360235153] [2022-02-20 23:42:04,195 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:04,196 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 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 17 [2022-02-20 23:42:04,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:04,196 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:04,207 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:42:04,208 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:04,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:42:04,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:42:04,208 INFO L87 Difference]: Start difference. First operand 110 states and 125 transitions. Second operand has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,434 INFO L93 Difference]: Finished difference Result 109 states and 124 transitions. [2022-02-20 23:42:04,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:04,434 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 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 17 [2022-02-20 23:42:04,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:04,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-02-20 23:42:04,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-02-20 23:42:04,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-02-20 23:42:04,500 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:42:04,501 INFO L225 Difference]: With dead ends: 109 [2022-02-20 23:42:04,501 INFO L226 Difference]: Without dead ends: 109 [2022-02-20 23:42:04,502 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=39, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:42:04,502 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 216 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 216 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:04,502 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [216 Valid, 114 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:04,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-02-20 23:42:04,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 96. [2022-02-20 23:42:04,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:04,504 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 96 states, 79 states have (on average 1.3924050632911393) internal successors, (110), 95 states have internal predecessors, (110), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,504 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 96 states, 79 states have (on average 1.3924050632911393) internal successors, (110), 95 states have internal predecessors, (110), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,504 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 96 states, 79 states have (on average 1.3924050632911393) internal successors, (110), 95 states have internal predecessors, (110), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,505 INFO L93 Difference]: Finished difference Result 109 states and 124 transitions. [2022-02-20 23:42:04,505 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-02-20 23:42:04,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:04,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:04,506 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 79 states have (on average 1.3924050632911393) internal successors, (110), 95 states have internal predecessors, (110), 0 states have call successors, (0), 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 109 states. [2022-02-20 23:42:04,506 INFO L87 Difference]: Start difference. First operand has 96 states, 79 states have (on average 1.3924050632911393) internal successors, (110), 95 states have internal predecessors, (110), 0 states have call successors, (0), 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 109 states. [2022-02-20 23:42:04,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,516 INFO L93 Difference]: Finished difference Result 109 states and 124 transitions. [2022-02-20 23:42:04,516 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-02-20 23:42:04,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:04,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:04,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:04,516 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:04,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 79 states have (on average 1.3924050632911393) internal successors, (110), 95 states have internal predecessors, (110), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 110 transitions. [2022-02-20 23:42:04,517 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 110 transitions. Word has length 17 [2022-02-20 23:42:04,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:04,517 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 110 transitions. [2022-02-20 23:42:04,517 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 7 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,517 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-02-20 23:42:04,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 23:42:04,518 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:04,518 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] [2022-02-20 23:42:04,518 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:42:04,518 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:04,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:04,518 INFO L85 PathProgramCache]: Analyzing trace with hash -1860324492, now seen corresponding path program 1 times [2022-02-20 23:42:04,518 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:04,518 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1871580570] [2022-02-20 23:42:04,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:04,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:04,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:04,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {5230#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {5230#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {5230#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {5230#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 4: Hoare triple {5230#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {5230#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 6: Hoare triple {5230#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {5230#true} havoc main_#t~nondet25#1; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {5230#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {5230#true} assume !(main_~i~0#1 < main_~length1~0#1); {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 10: Hoare triple {5230#true} main_~i~1#1 := 0; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 11: Hoare triple {5230#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {5230#true} is VALID [2022-02-20 23:42:04,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {5230#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:04,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} havoc main_#t~nondet27#1; {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:04,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:04,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(main_~i~1#1 < main_~length2~0#1); {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:04,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:04,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~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: L573 {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:04,547 INFO L290 TraceCheckUtils]: 18: Hoare triple {5232#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {5233#(= (select |#valid| |ULTIMATE.start_cstrstr_#t~post13#1.base|) 1)} is VALID [2022-02-20 23:42:04,548 INFO L290 TraceCheckUtils]: 19: Hoare triple {5233#(= (select |#valid| |ULTIMATE.start_cstrstr_#t~post13#1.base|) 1)} assume !(1 == #valid[cstrstr_#t~post13#1.base]); {5231#false} is VALID [2022-02-20 23:42:04,548 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:04,548 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:04,548 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1871580570] [2022-02-20 23:42:04,548 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1871580570] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:04,548 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:04,548 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:42:04,548 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1138539998] [2022-02-20 23:42:04,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:04,548 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 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 20 [2022-02-20 23:42:04,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:04,549 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:04,560 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:42:04,560 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:04,560 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:42:04,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:42:04,561 INFO L87 Difference]: Start difference. First operand 96 states and 110 transitions. Second operand has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,674 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2022-02-20 23:42:04,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:42:04,674 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 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 20 [2022-02-20 23:42:04,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:04,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2022-02-20 23:42:04,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2022-02-20 23:42:04,675 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 81 transitions. [2022-02-20 23:42:04,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:04,727 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:42:04,728 INFO L226 Difference]: Without dead ends: 95 [2022-02-20 23:42:04,728 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:42:04,728 INFO L933 BasicCegarLoop]: 58 mSDtfsCounter, 68 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:04,728 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 113 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:04,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-02-20 23:42:04,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-02-20 23:42:04,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:04,730 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 95 states, 79 states have (on average 1.379746835443038) internal successors, (109), 94 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,730 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 95 states, 79 states have (on average 1.379746835443038) internal successors, (109), 94 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,730 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 95 states, 79 states have (on average 1.379746835443038) internal successors, (109), 94 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,731 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2022-02-20 23:42:04,731 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 109 transitions. [2022-02-20 23:42:04,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:04,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:04,731 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 79 states have (on average 1.379746835443038) internal successors, (109), 94 states have internal predecessors, (109), 0 states have call successors, (0), 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 95 states. [2022-02-20 23:42:04,732 INFO L87 Difference]: Start difference. First operand has 95 states, 79 states have (on average 1.379746835443038) internal successors, (109), 94 states have internal predecessors, (109), 0 states have call successors, (0), 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 95 states. [2022-02-20 23:42:04,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,732 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2022-02-20 23:42:04,732 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 109 transitions. [2022-02-20 23:42:04,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:04,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:04,733 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:04,733 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:04,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 79 states have (on average 1.379746835443038) internal successors, (109), 94 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 109 transitions. [2022-02-20 23:42:04,734 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 109 transitions. Word has length 20 [2022-02-20 23:42:04,734 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:04,734 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 109 transitions. [2022-02-20 23:42:04,734 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 6.666666666666667) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,734 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 109 transitions. [2022-02-20 23:42:04,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 23:42:04,734 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:04,734 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] [2022-02-20 23:42:04,734 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-02-20 23:42:04,734 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:04,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:04,735 INFO L85 PathProgramCache]: Analyzing trace with hash -1860324491, now seen corresponding path program 1 times [2022-02-20 23:42:04,735 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:04,735 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [329801831] [2022-02-20 23:42:04,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:04,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:04,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:04,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {5618#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5618#true} is VALID [2022-02-20 23:42:04,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {5618#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {5618#true} is VALID [2022-02-20 23:42:04,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {5618#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {5618#true} is VALID [2022-02-20 23:42:04,791 INFO L290 TraceCheckUtils]: 3: Hoare triple {5618#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {5620#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:04,792 INFO L290 TraceCheckUtils]: 4: Hoare triple {5620#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {5621#(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:42:04,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {5621#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {5621#(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:42:04,793 INFO L290 TraceCheckUtils]: 6: Hoare triple {5621#(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(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {5621#(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:42:04,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {5621#(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|)))} havoc main_#t~nondet25#1; {5621#(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:42:04,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {5621#(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_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {5621#(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:42:04,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {5621#(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); {5621#(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:42:04,795 INFO L290 TraceCheckUtils]: 10: Hoare triple {5621#(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; {5621#(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:42:04,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {5621#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {5621#(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:42:04,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {5621#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {5621#(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:42:04,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {5621#(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|)))} havoc main_#t~nondet27#1; {5621#(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:42:04,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {5621#(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_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {5621#(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:42:04,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {5621#(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); {5621#(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:42:04,798 INFO L290 TraceCheckUtils]: 16: Hoare triple {5621#(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: L568-4 {5621#(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:42:04,798 INFO L290 TraceCheckUtils]: 17: Hoare triple {5621#(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: L573 {5622#(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:42:04,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {5622#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {5623#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|)))} is VALID [2022-02-20 23:42:04,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {5623#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|)))} assume !(1 + cstrstr_#t~post13#1.offset <= #length[cstrstr_#t~post13#1.base] && 0 <= cstrstr_#t~post13#1.offset); {5619#false} is VALID [2022-02-20 23:42:04,800 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:42:04,800 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:04,800 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [329801831] [2022-02-20 23:42:04,800 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [329801831] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:04,800 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:04,800 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:42:04,800 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1168981204] [2022-02-20 23:42:04,800 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:04,801 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 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 20 [2022-02-20 23:42:04,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:04,801 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:04,818 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:42:04,818 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:04,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:42:04,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:42:04,818 INFO L87 Difference]: Start difference. First operand 95 states and 109 transitions. Second operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,989 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-02-20 23:42:04,989 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:04,989 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 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 20 [2022-02-20 23:42:04,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:04,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 80 transitions. [2022-02-20 23:42:04,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 80 transitions. [2022-02-20 23:42:04,991 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 80 transitions. [2022-02-20 23:42:05,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:05,047 INFO L225 Difference]: With dead ends: 94 [2022-02-20 23:42:05,047 INFO L226 Difference]: Without dead ends: 94 [2022-02-20 23:42:05,047 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:42:05,047 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 206 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 206 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:05,048 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [206 Valid, 117 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:05,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-02-20 23:42:05,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 94. [2022-02-20 23:42:05,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:05,049 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 94 states, 79 states have (on average 1.3670886075949367) internal successors, (108), 93 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,049 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 94 states, 79 states have (on average 1.3670886075949367) internal successors, (108), 93 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,049 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 94 states, 79 states have (on average 1.3670886075949367) internal successors, (108), 93 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:05,050 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-02-20 23:42:05,050 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2022-02-20 23:42:05,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:05,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:05,051 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 79 states have (on average 1.3670886075949367) internal successors, (108), 93 states have internal predecessors, (108), 0 states have call successors, (0), 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 94 states. [2022-02-20 23:42:05,051 INFO L87 Difference]: Start difference. First operand has 94 states, 79 states have (on average 1.3670886075949367) internal successors, (108), 93 states have internal predecessors, (108), 0 states have call successors, (0), 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 94 states. [2022-02-20 23:42:05,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:05,052 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-02-20 23:42:05,052 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2022-02-20 23:42:05,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:05,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:05,052 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:05,052 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:05,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 79 states have (on average 1.3670886075949367) internal successors, (108), 93 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 108 transitions. [2022-02-20 23:42:05,053 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 108 transitions. Word has length 20 [2022-02-20 23:42:05,053 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:05,053 INFO L470 AbstractCegarLoop]: Abstraction has 94 states and 108 transitions. [2022-02-20 23:42:05,053 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,053 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2022-02-20 23:42:05,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 23:42:05,053 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:05,053 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, 1] [2022-02-20 23:42:05,054 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 23:42:05,054 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr10REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:05,054 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:05,054 INFO L85 PathProgramCache]: Analyzing trace with hash 1331077295, now seen corresponding path program 1 times [2022-02-20 23:42:05,054 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:05,054 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1996484570] [2022-02-20 23:42:05,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:05,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:05,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:05,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {6004#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6004#true} is VALID [2022-02-20 23:42:05,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {6004#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {6004#true} is VALID [2022-02-20 23:42:05,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {6004#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6004#true} is VALID [2022-02-20 23:42:05,101 INFO L290 TraceCheckUtils]: 3: Hoare triple {6004#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6004#true} is VALID [2022-02-20 23:42:05,101 INFO L290 TraceCheckUtils]: 4: Hoare triple {6004#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {6004#true} is VALID [2022-02-20 23:42:05,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {6004#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {6004#true} is VALID [2022-02-20 23:42:05,101 INFO L290 TraceCheckUtils]: 6: Hoare triple {6004#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {6004#true} is VALID [2022-02-20 23:42:05,102 INFO L290 TraceCheckUtils]: 7: Hoare triple {6004#true} havoc main_#t~nondet25#1; {6004#true} is VALID [2022-02-20 23:42:05,102 INFO L290 TraceCheckUtils]: 8: Hoare triple {6004#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {6004#true} is VALID [2022-02-20 23:42:05,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {6004#true} assume !(main_~i~0#1 < main_~length1~0#1); {6004#true} is VALID [2022-02-20 23:42:05,103 INFO L290 TraceCheckUtils]: 10: Hoare triple {6004#true} main_~i~1#1 := 0; {6004#true} is VALID [2022-02-20 23:42:05,103 INFO L290 TraceCheckUtils]: 11: Hoare triple {6004#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {6004#true} is VALID [2022-02-20 23:42:05,103 INFO L290 TraceCheckUtils]: 12: Hoare triple {6004#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,103 INFO L290 TraceCheckUtils]: 13: Hoare triple {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} havoc main_#t~nondet27#1; {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,104 INFO L290 TraceCheckUtils]: 14: Hoare triple {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,104 INFO L290 TraceCheckUtils]: 15: Hoare triple {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(main_~i~1#1 < main_~length2~0#1); {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,104 INFO L290 TraceCheckUtils]: 16: Hoare triple {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,104 INFO L290 TraceCheckUtils]: 17: Hoare triple {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~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: L573 {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,105 INFO L290 TraceCheckUtils]: 18: Hoare triple {6006#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {6007#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:05,105 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {6007#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:05,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {6007#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:05,106 INFO L290 TraceCheckUtils]: 21: Hoare triple {6007#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {6008#(= (select |#valid| |ULTIMATE.start_cstrlen_~s~0#1.base|) 1)} is VALID [2022-02-20 23:42:05,106 INFO L290 TraceCheckUtils]: 22: Hoare triple {6008#(= (select |#valid| |ULTIMATE.start_cstrlen_~s~0#1.base|) 1)} assume !(1 == #valid[cstrlen_~s~0#1.base]); {6005#false} is VALID [2022-02-20 23:42:05,106 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:05,107 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:05,107 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1996484570] [2022-02-20 23:42:05,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1996484570] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:05,107 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:05,107 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:42:05,107 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [354534696] [2022-02-20 23:42:05,107 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:05,108 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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 23 [2022-02-20 23:42:05,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:05,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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:42:05,122 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:42:05,122 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:42:05,122 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:05,122 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:42:05,122 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:42:05,122 INFO L87 Difference]: Start difference. First operand 94 states and 108 transitions. Second operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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:42:05,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:05,268 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2022-02-20 23:42:05,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:05,269 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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 23 [2022-02-20 23:42:05,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:05,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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:42:05,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-02-20 23:42:05,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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:42:05,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-02-20 23:42:05,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2022-02-20 23:42:05,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:05,328 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:42:05,328 INFO L226 Difference]: Without dead ends: 95 [2022-02-20 23:42:05,328 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:42:05,328 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 164 mSDsluCounter, 33 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 164 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:05,329 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [164 Valid, 88 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:05,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-02-20 23:42:05,330 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 93. [2022-02-20 23:42:05,330 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:05,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 93 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 92 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,330 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 93 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 92 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,330 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 93 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 92 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:05,331 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2022-02-20 23:42:05,331 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 109 transitions. [2022-02-20 23:42:05,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:05,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:05,332 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 92 states have internal predecessors, (107), 0 states have call successors, (0), 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 95 states. [2022-02-20 23:42:05,332 INFO L87 Difference]: Start difference. First operand has 93 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 92 states have internal predecessors, (107), 0 states have call successors, (0), 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 95 states. [2022-02-20 23:42:05,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:05,333 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2022-02-20 23:42:05,333 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 109 transitions. [2022-02-20 23:42:05,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:05,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:05,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:05,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:05,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 92 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:05,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 107 transitions. [2022-02-20 23:42:05,334 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 107 transitions. Word has length 23 [2022-02-20 23:42:05,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:05,334 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 107 transitions. [2022-02-20 23:42:05,334 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 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:42:05,334 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 107 transitions. [2022-02-20 23:42:05,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 23:42:05,334 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:05,334 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, 1] [2022-02-20 23:42:05,335 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 23:42:05,335 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:05,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:05,335 INFO L85 PathProgramCache]: Analyzing trace with hash 1331077296, now seen corresponding path program 1 times [2022-02-20 23:42:05,335 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:05,335 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1872871094] [2022-02-20 23:42:05,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:05,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:05,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:05,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {6393#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6393#true} is VALID [2022-02-20 23:42:05,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {6393#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {6393#true} is VALID [2022-02-20 23:42:05,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {6393#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6393#true} is VALID [2022-02-20 23:42:05,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {6393#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6395#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:05,463 INFO L290 TraceCheckUtils]: 4: Hoare triple {6395#(<= |ULTIMATE.start_main_~length2~0#1| 1)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,464 INFO L290 TraceCheckUtils]: 6: Hoare triple {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} havoc main_#t~nondet25#1; {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} assume !(main_~i~0#1 < main_~length1~0#1); {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {6396#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} main_~i~1#1 := 0; {6397#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:05,466 INFO L290 TraceCheckUtils]: 11: Hoare triple {6397#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {6398#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#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_~i~1#1| 0))} is VALID [2022-02-20 23:42:05,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {6398#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#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_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {6398#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#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_~i~1#1| 0))} is VALID [2022-02-20 23:42:05,467 INFO L290 TraceCheckUtils]: 13: Hoare triple {6398#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#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_~i~1#1| 0))} havoc main_#t~nondet27#1; {6398#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#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_~i~1#1| 0))} is VALID [2022-02-20 23:42:05,467 INFO L290 TraceCheckUtils]: 14: Hoare triple {6398#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#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_~i~1#1| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} assume !(main_~i~1#1 < main_~length2~0#1); {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,468 INFO L290 TraceCheckUtils]: 16: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,469 INFO L290 TraceCheckUtils]: 17: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {6400#(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))} is VALID [2022-02-20 23:42:05,469 INFO L290 TraceCheckUtils]: 18: Hoare triple {6400#(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))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {6401#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0)} is VALID [2022-02-20 23:42:05,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {6401#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {6402#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} is VALID [2022-02-20 23:42:05,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {6402#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {6403#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} is VALID [2022-02-20 23:42:05,470 INFO L290 TraceCheckUtils]: 21: Hoare triple {6403#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {6394#false} is VALID [2022-02-20 23:42:05,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {6394#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {6394#false} is VALID [2022-02-20 23:42:05,471 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:05,471 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:05,471 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1872871094] [2022-02-20 23:42:05,471 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1872871094] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:05,471 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2147451625] [2022-02-20 23:42:05,471 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:05,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:05,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:05,474 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:42:05,475 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:42:05,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:05,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 23:42:05,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:05,535 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:05,625 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 11 treesize of output 7 [2022-02-20 23:42:05,657 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:42:05,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {6393#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6393#true} is VALID [2022-02-20 23:42:05,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {6393#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {6393#true} is VALID [2022-02-20 23:42:05,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {6393#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6393#true} is VALID [2022-02-20 23:42:05,665 INFO L290 TraceCheckUtils]: 3: Hoare triple {6393#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {6416#(= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:42:05,666 INFO L290 TraceCheckUtils]: 4: Hoare triple {6416#(= |ULTIMATE.start_main_~length2~0#1| 1)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,666 INFO L290 TraceCheckUtils]: 5: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,667 INFO L290 TraceCheckUtils]: 6: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} havoc main_#t~nondet25#1; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} assume !(main_~i~0#1 < main_~length1~0#1); {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,668 INFO L290 TraceCheckUtils]: 10: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} main_~i~1#1 := 0; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,669 INFO L290 TraceCheckUtils]: 12: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,670 INFO L290 TraceCheckUtils]: 13: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} havoc main_#t~nondet27#1; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} assume !(main_~i~1#1 < main_~length2~0#1); {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:05,672 INFO L290 TraceCheckUtils]: 17: Hoare triple {6399#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {6400#(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))} is VALID [2022-02-20 23:42:05,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {6400#(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))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {6462#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) 0) 0))} is VALID [2022-02-20 23:42:05,673 INFO L290 TraceCheckUtils]: 19: Hoare triple {6462#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) 0) 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {6402#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} is VALID [2022-02-20 23:42:05,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {6402#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {6403#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} is VALID [2022-02-20 23:42:05,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {6403#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {6394#false} is VALID [2022-02-20 23:42:05,674 INFO L290 TraceCheckUtils]: 22: Hoare triple {6394#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {6394#false} is VALID [2022-02-20 23:42:05,674 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:42:05,674 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:42:05,674 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2147451625] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:05,674 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:42:05,674 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [11] total 13 [2022-02-20 23:42:05,674 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [294964305] [2022-02-20 23:42:05,674 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:05,675 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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 23 [2022-02-20 23:42:05,675 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:05,675 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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:42:05,691 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:42:05,691 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:42:05,691 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:05,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:42:05,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=120, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:42:05,692 INFO L87 Difference]: Start difference. First operand 93 states and 107 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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:42:05,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:05,985 INFO L93 Difference]: Finished difference Result 107 states and 119 transitions. [2022-02-20 23:42:05,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:42:05,985 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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 23 [2022-02-20 23:42:05,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:05,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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:42:05,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 103 transitions. [2022-02-20 23:42:05,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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:42:05,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 103 transitions. [2022-02-20 23:42:05,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 103 transitions. [2022-02-20 23:42:06,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:06,052 INFO L225 Difference]: With dead ends: 107 [2022-02-20 23:42:06,052 INFO L226 Difference]: Without dead ends: 107 [2022-02-20 23:42:06,052 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=89, Invalid=217, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:42:06,052 INFO L933 BasicCegarLoop]: 69 mSDtfsCounter, 42 mSDsluCounter, 326 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 395 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:06,053 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 395 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:06,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-02-20 23:42:06,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 99. [2022-02-20 23:42:06,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:06,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 99 states, 85 states have (on average 1.3294117647058823) internal successors, (113), 98 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:42:06,054 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 99 states, 85 states have (on average 1.3294117647058823) internal successors, (113), 98 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:42:06,054 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 99 states, 85 states have (on average 1.3294117647058823) internal successors, (113), 98 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:42:06,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:06,056 INFO L93 Difference]: Finished difference Result 107 states and 119 transitions. [2022-02-20 23:42:06,056 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-02-20 23:42:06,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:06,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:06,056 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 85 states have (on average 1.3294117647058823) internal successors, (113), 98 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) Second operand 107 states. [2022-02-20 23:42:06,056 INFO L87 Difference]: Start difference. First operand has 99 states, 85 states have (on average 1.3294117647058823) internal successors, (113), 98 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) Second operand 107 states. [2022-02-20 23:42:06,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:06,057 INFO L93 Difference]: Finished difference Result 107 states and 119 transitions. [2022-02-20 23:42:06,057 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-02-20 23:42:06,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:06,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:06,058 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:06,058 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:06,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 85 states have (on average 1.3294117647058823) internal successors, (113), 98 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:42:06,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 113 transitions. [2022-02-20 23:42:06,059 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 113 transitions. Word has length 23 [2022-02-20 23:42:06,059 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:06,059 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 113 transitions. [2022-02-20 23:42:06,059 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 8 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:42:06,059 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 113 transitions. [2022-02-20 23:42:06,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 23:42:06,059 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:06,059 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, 1] [2022-02-20 23:42:06,091 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:42:06,276 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,SelfDestructingSolverStorable14 [2022-02-20 23:42:06,277 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:06,277 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:06,277 INFO L85 PathProgramCache]: Analyzing trace with hash 513428846, now seen corresponding path program 1 times [2022-02-20 23:42:06,277 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:06,277 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614110373] [2022-02-20 23:42:06,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:06,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:06,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:06,438 INFO L290 TraceCheckUtils]: 0: Hoare triple {6904#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6904#true} is VALID [2022-02-20 23:42:06,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {6904#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {6904#true} is VALID [2022-02-20 23:42:06,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {6904#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6904#true} is VALID [2022-02-20 23:42:06,439 INFO L290 TraceCheckUtils]: 3: Hoare triple {6904#true} assume !(main_~length2~0#1 < 1); {6906#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:06,440 INFO L290 TraceCheckUtils]: 4: Hoare triple {6906#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:06,440 INFO L290 TraceCheckUtils]: 5: Hoare triple {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:06,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:06,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet25#1; {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:06,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:06,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} assume !(main_~i~0#1 < main_~length1~0#1); {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:06,443 INFO L290 TraceCheckUtils]: 10: Hoare triple {6907#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} main_~i~1#1 := 0; {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} is VALID [2022-02-20 23:42:06,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} is VALID [2022-02-20 23:42:06,444 INFO L290 TraceCheckUtils]: 12: Hoare triple {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} is VALID [2022-02-20 23:42:06,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} havoc main_#t~nondet27#1; {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} is VALID [2022-02-20 23:42:06,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {6908#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 0)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {6909#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:06,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {6909#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !(main_~i~1#1 < main_~length2~0#1); {6910#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:06,445 INFO L290 TraceCheckUtils]: 16: Hoare triple {6910#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 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: L568-4 {6910#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:06,446 INFO L290 TraceCheckUtils]: 17: Hoare triple {6910#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 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: L573 {6911#(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))} is VALID [2022-02-20 23:42:06,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {6911#(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))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {6912#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0)} is VALID [2022-02-20 23:42:06,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {6912#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {6913#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} is VALID [2022-02-20 23:42:06,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {6913#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {6914#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} is VALID [2022-02-20 23:42:06,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {6914#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {6905#false} is VALID [2022-02-20 23:42:06,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {6905#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {6905#false} is VALID [2022-02-20 23:42:06,448 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:06,448 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:06,448 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [614110373] [2022-02-20 23:42:06,448 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [614110373] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:06,448 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1843671001] [2022-02-20 23:42:06,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:06,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:06,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:06,449 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:42:06,504 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:42:06,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:06,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 26 conjunts are in the unsatisfiable core [2022-02-20 23:42:06,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:06,547 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:06,596 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:06,596 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:42:06,835 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 13 treesize of output 9 [2022-02-20 23:42:07,091 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:07,092 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 7 [2022-02-20 23:42:07,127 INFO L290 TraceCheckUtils]: 0: Hoare triple {6904#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6904#true} is VALID [2022-02-20 23:42:07,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {6904#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {6904#true} is VALID [2022-02-20 23:42:07,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {6904#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6904#true} is VALID [2022-02-20 23:42:07,128 INFO L290 TraceCheckUtils]: 3: Hoare triple {6904#true} assume !(main_~length2~0#1 < 1); {6904#true} is VALID [2022-02-20 23:42:07,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {6904#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {6930#(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:42:07,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {6930#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {6930#(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:42:07,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {6930#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {6930#(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:42:07,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {6930#(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~nondet25#1; {6930#(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:42:07,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {6930#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {6930#(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:42:07,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {6930#(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); {6930#(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:42:07,135 INFO L290 TraceCheckUtils]: 10: Hoare triple {6930#(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; {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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:42:07,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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:42:07,136 INFO L290 TraceCheckUtils]: 12: Hoare triple {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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:42:07,136 INFO L290 TraceCheckUtils]: 13: Hoare triple {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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~nondet27#1; {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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:42:07,136 INFO L290 TraceCheckUtils]: 14: Hoare triple {6949#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {6962#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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:42:07,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {6962#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (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); {6966#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:07,137 INFO L290 TraceCheckUtils]: 16: Hoare triple {6966#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {6966#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:07,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {6966#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {6973#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0)))} is VALID [2022-02-20 23:42:07,139 INFO L290 TraceCheckUtils]: 18: Hoare triple {6973#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {6977#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:07,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {6977#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {6913#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} is VALID [2022-02-20 23:42:07,140 INFO L290 TraceCheckUtils]: 20: Hoare triple {6913#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {6914#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} is VALID [2022-02-20 23:42:07,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {6914#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {6905#false} is VALID [2022-02-20 23:42:07,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {6905#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {6905#false} is VALID [2022-02-20 23:42:07,141 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:07,141 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:07,350 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 13 treesize of output 11 [2022-02-20 23:42:07,365 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 20 treesize of output 18 [2022-02-20 23:42:07,727 INFO L290 TraceCheckUtils]: 22: Hoare triple {6905#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {6905#false} is VALID [2022-02-20 23:42:07,728 INFO L290 TraceCheckUtils]: 21: Hoare triple {6914#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {6905#false} is VALID [2022-02-20 23:42:07,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {6913#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {6914#(= |ULTIMATE.start_cstrstr_~c~0#1| 0)} is VALID [2022-02-20 23:42:07,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {6999#(forall ((|ULTIMATE.start_cstrstr_#t~post13#1.offset| Int)) (or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (not (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {6913#(= |ULTIMATE.start_cstrstr_#t~mem14#1| 0)} is VALID [2022-02-20 23:42:07,729 INFO L290 TraceCheckUtils]: 18: Hoare triple {7003#(forall ((|ULTIMATE.start_cstrstr_#t~post13#1.offset| Int)) (or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0) (not (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {6999#(forall ((|ULTIMATE.start_cstrstr_#t~post13#1.offset| Int)) (or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (not (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0)))} is VALID [2022-02-20 23:42:07,730 INFO L290 TraceCheckUtils]: 17: Hoare triple {7007#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~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: L573 {7003#(forall ((|ULTIMATE.start_cstrstr_#t~post13#1.offset| Int)) (or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) 0) (not (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))))} is VALID [2022-02-20 23:42:07,730 INFO L290 TraceCheckUtils]: 16: Hoare triple {7007#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {7007#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)))} is VALID [2022-02-20 23:42:07,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {7014#(or (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} assume !(main_~i~1#1 < main_~length2~0#1); {7007#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)))} is VALID [2022-02-20 23:42:07,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {7014#(or (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet27#1; {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:07,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:07,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:07,733 INFO L290 TraceCheckUtils]: 10: Hoare triple {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} main_~i~1#1 := 0; {7018#(or (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:07,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} assume !(main_~i~0#1 < main_~length1~0#1); {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,734 INFO L290 TraceCheckUtils]: 8: Hoare triple {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,734 INFO L290 TraceCheckUtils]: 7: Hoare triple {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} havoc main_#t~nondet25#1; {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,735 INFO L290 TraceCheckUtils]: 6: Hoare triple {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,736 INFO L290 TraceCheckUtils]: 4: Hoare triple {6904#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {7031#(or (< 1 |ULTIMATE.start_main_~length2~0#1|) (and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1))))} is VALID [2022-02-20 23:42:07,736 INFO L290 TraceCheckUtils]: 3: Hoare triple {6904#true} assume !(main_~length2~0#1 < 1); {6904#true} is VALID [2022-02-20 23:42:07,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {6904#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6904#true} is VALID [2022-02-20 23:42:07,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {6904#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {6904#true} is VALID [2022-02-20 23:42:07,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {6904#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6904#true} is VALID [2022-02-20 23:42:07,737 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:07,737 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1843671001] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:07,737 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:07,737 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 23 [2022-02-20 23:42:07,737 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385189173] [2022-02-20 23:42:07,737 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:07,737 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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) Word has length 23 [2022-02-20 23:42:07,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:07,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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:42:07,778 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:42:07,779 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 23:42:07,779 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:07,779 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 23:42:07,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:42:07,779 INFO L87 Difference]: Start difference. First operand 99 states and 113 transitions. Second operand has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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:42:08,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:08,700 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2022-02-20 23:42:08,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:42:08,701 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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) Word has length 23 [2022-02-20 23:42:08,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:08,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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:42:08,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-02-20 23:42:08,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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:42:08,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-02-20 23:42:08,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 97 transitions. [2022-02-20 23:42:08,765 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:42:08,766 INFO L225 Difference]: With dead ends: 116 [2022-02-20 23:42:08,766 INFO L226 Difference]: Without dead ends: 116 [2022-02-20 23:42:08,766 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=180, Invalid=750, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:42:08,767 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 64 mSDsluCounter, 795 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 861 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 66 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:08,767 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [64 Valid, 861 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 278 Invalid, 0 Unknown, 66 Unchecked, 0.2s Time] [2022-02-20 23:42:08,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-02-20 23:42:08,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 103. [2022-02-20 23:42:08,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:08,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 103 states, 89 states have (on average 1.3258426966292134) internal successors, (118), 102 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:08,769 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 103 states, 89 states have (on average 1.3258426966292134) internal successors, (118), 102 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:08,769 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 103 states, 89 states have (on average 1.3258426966292134) internal successors, (118), 102 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:08,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:08,770 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2022-02-20 23:42:08,770 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 130 transitions. [2022-02-20 23:42:08,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:08,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:08,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 89 states have (on average 1.3258426966292134) internal successors, (118), 102 states have internal predecessors, (118), 0 states have call successors, (0), 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 116 states. [2022-02-20 23:42:08,771 INFO L87 Difference]: Start difference. First operand has 103 states, 89 states have (on average 1.3258426966292134) internal successors, (118), 102 states have internal predecessors, (118), 0 states have call successors, (0), 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 116 states. [2022-02-20 23:42:08,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:08,772 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2022-02-20 23:42:08,772 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 130 transitions. [2022-02-20 23:42:08,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:08,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:08,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:08,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:08,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 89 states have (on average 1.3258426966292134) internal successors, (118), 102 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:08,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-02-20 23:42:08,773 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 23 [2022-02-20 23:42:08,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:08,773 INFO L470 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-02-20 23:42:08,773 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 2.4347826086956523) internal successors, (56), 23 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:42:08,773 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-02-20 23:42:08,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:42:08,774 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:08,774 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, 1, 1, 1] [2022-02-20 23:42:08,790 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-02-20 23:42:08,983 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:08,984 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr24ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:08,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:08,984 INFO L85 PathProgramCache]: Analyzing trace with hash -731742098, now seen corresponding path program 1 times [2022-02-20 23:42:08,984 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:08,984 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [777784809] [2022-02-20 23:42:08,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:08,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:09,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:09,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {7528#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7528#true} is VALID [2022-02-20 23:42:09,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {7528#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:42:09,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:42:09,078 INFO L290 TraceCheckUtils]: 3: Hoare triple {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:42:09,078 INFO L290 TraceCheckUtils]: 4: Hoare triple {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,079 INFO L290 TraceCheckUtils]: 6: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} havoc main_#t~nondet25#1; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1); {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,081 INFO L290 TraceCheckUtils]: 10: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} main_~i~1#1 := 0; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,081 INFO L290 TraceCheckUtils]: 12: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} havoc main_#t~nondet27#1; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1); {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#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: L568-4 {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,083 INFO L290 TraceCheckUtils]: 17: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#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: L573 {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} assume !(0 != cstrstr_~c~0#1);havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} cstrstr_#res#1.base, cstrstr_#res#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset; {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} is VALID [2022-02-20 23:42:09,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {7531#(and (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc22#1.base| 0) |ULTIMATE.start_main_#t~malloc23#1.base| 0) |ULTIMATE.start_main_old_#valid#1|) (not (= |ULTIMATE.start_main_#t~malloc22#1.base| |ULTIMATE.start_main_#t~malloc23#1.base|)))} main_#t~ret28#1.base, main_#t~ret28#1.offset := cstrstr_#res#1.base, cstrstr_#res#1.offset;assume { :end_inline_cstrstr } true;main_#res#1 := main_#t~ret28#1.base + main_#t~ret28#1.offset;havoc main_#t~ret28#1.base, main_#t~ret28#1.offset;call ULTIMATE.dealloc(main_#t~malloc22#1.base, main_#t~malloc22#1.offset);havoc main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call ULTIMATE.dealloc(main_#t~malloc23#1.base, main_#t~malloc23#1.offset);havoc main_#t~malloc23#1.base, main_#t~malloc23#1.offset; {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:42:09,091 INFO L290 TraceCheckUtils]: 24: Hoare triple {7530#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {7529#false} is VALID [2022-02-20 23:42:09,091 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:42:09,091 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:09,091 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [777784809] [2022-02-20 23:42:09,091 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [777784809] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:09,091 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:09,091 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:42:09,091 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1793504191] [2022-02-20 23:42:09,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:09,091 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 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 25 [2022-02-20 23:42:09,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:09,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:09,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:09,108 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:42:09,108 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:09,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:42:09,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:42:09,109 INFO L87 Difference]: Start difference. First operand 103 states and 118 transitions. Second operand has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:09,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:09,213 INFO L93 Difference]: Finished difference Result 102 states and 117 transitions. [2022-02-20 23:42:09,213 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:42:09,213 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 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 25 [2022-02-20 23:42:09,214 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:09,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:09,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2022-02-20 23:42:09,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:09,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2022-02-20 23:42:09,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 78 transitions. [2022-02-20 23:42:09,272 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:42:09,272 INFO L225 Difference]: With dead ends: 102 [2022-02-20 23:42:09,272 INFO L226 Difference]: Without dead ends: 74 [2022-02-20 23:42:09,273 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:42:09,273 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 53 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:09,273 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 112 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:09,273 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-02-20 23:42:09,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-02-20 23:42:09,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:09,274 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 61 states have (on average 1.360655737704918) internal successors, (83), 73 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:42:09,275 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 61 states have (on average 1.360655737704918) internal successors, (83), 73 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:42:09,275 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 61 states have (on average 1.360655737704918) internal successors, (83), 73 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:42:09,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:09,275 INFO L93 Difference]: Finished difference Result 74 states and 83 transitions. [2022-02-20 23:42:09,275 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 83 transitions. [2022-02-20 23:42:09,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:09,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:09,276 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 61 states have (on average 1.360655737704918) internal successors, (83), 73 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 74 states. [2022-02-20 23:42:09,277 INFO L87 Difference]: Start difference. First operand has 74 states, 61 states have (on average 1.360655737704918) internal successors, (83), 73 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 74 states. [2022-02-20 23:42:09,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:09,278 INFO L93 Difference]: Finished difference Result 74 states and 83 transitions. [2022-02-20 23:42:09,278 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 83 transitions. [2022-02-20 23:42:09,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:09,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:09,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:09,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:09,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 61 states have (on average 1.360655737704918) internal successors, (83), 73 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:42:09,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 83 transitions. [2022-02-20 23:42:09,281 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 83 transitions. Word has length 25 [2022-02-20 23:42:09,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:09,282 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 83 transitions. [2022-02-20 23:42:09,282 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 8.333333333333334) internal successors, (25), 4 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:09,282 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 83 transitions. [2022-02-20 23:42:09,282 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 23:42:09,282 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:09,282 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] [2022-02-20 23:42:09,282 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-02-20 23:42:09,282 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:09,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:09,283 INFO L85 PathProgramCache]: Analyzing trace with hash 510694897, now seen corresponding path program 2 times [2022-02-20 23:42:09,283 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:09,283 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1299858095] [2022-02-20 23:42:09,283 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:09,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:09,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:09,441 INFO L290 TraceCheckUtils]: 0: Hoare triple {7858#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7858#true} is VALID [2022-02-20 23:42:09,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {7858#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {7858#true} is VALID [2022-02-20 23:42:09,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {7858#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {7858#true} is VALID [2022-02-20 23:42:09,442 INFO L290 TraceCheckUtils]: 3: Hoare triple {7858#true} assume !(main_~length2~0#1 < 1); {7858#true} is VALID [2022-02-20 23:42:09,442 INFO L290 TraceCheckUtils]: 4: Hoare triple {7858#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {7860#(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:42:09,443 INFO L290 TraceCheckUtils]: 5: Hoare triple {7860#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {7860#(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:42:09,443 INFO L290 TraceCheckUtils]: 6: Hoare triple {7860#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {7860#(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:42:09,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {7860#(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~nondet25#1; {7860#(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:42:09,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {7860#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {7860#(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:42:09,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {7860#(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); {7860#(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:42:09,445 INFO L290 TraceCheckUtils]: 10: Hoare triple {7860#(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; {7861#(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:42:09,445 INFO L290 TraceCheckUtils]: 11: Hoare triple {7861#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {7861#(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:42:09,445 INFO L290 TraceCheckUtils]: 12: Hoare triple {7861#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {7861#(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:42:09,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {7861#(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~nondet27#1; {7861#(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:42:09,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {7861#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {7862#(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:42:09,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {7862#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:09,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:09,447 INFO L290 TraceCheckUtils]: 17: Hoare triple {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:09,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:09,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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); {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:09,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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: L568-4 {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:09,449 INFO L290 TraceCheckUtils]: 21: Hoare triple {7863#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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: L573 {7864#(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:42:09,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {7864#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {7865#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))))} is VALID [2022-02-20 23:42:09,450 INFO L290 TraceCheckUtils]: 23: Hoare triple {7865#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {7866#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:09,450 INFO L290 TraceCheckUtils]: 24: Hoare triple {7866#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {7866#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:09,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {7866#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {7867#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:09,451 INFO L290 TraceCheckUtils]: 26: Hoare triple {7867#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {7859#false} is VALID [2022-02-20 23:42:09,451 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:42:09,451 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:09,451 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1299858095] [2022-02-20 23:42:09,452 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1299858095] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:09,452 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1888753086] [2022-02-20 23:42:09,452 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:42:09,452 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:09,452 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:09,453 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:42:09,457 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:42:09,509 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 23:42:09,509 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:09,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 23:42:09,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:09,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:09,611 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:09,612 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:42:09,894 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:42:10,386 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:10,386 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 20 treesize of output 20 [2022-02-20 23:42:10,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {7858#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7858#true} is VALID [2022-02-20 23:42:10,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {7858#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {7858#true} is VALID [2022-02-20 23:42:10,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {7858#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {7858#true} is VALID [2022-02-20 23:42:10,616 INFO L290 TraceCheckUtils]: 3: Hoare triple {7858#true} assume !(main_~length2~0#1 < 1); {7880#(not (< |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:42:10,617 INFO L290 TraceCheckUtils]: 4: Hoare triple {7880#(not (< |ULTIMATE.start_main_~length2~0#1| 1))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,618 INFO L290 TraceCheckUtils]: 6: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} havoc main_#t~nondet25#1; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} assume !(main_~i~0#1 < main_~length1~0#1); {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,619 INFO L290 TraceCheckUtils]: 10: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} main_~i~1#1 := 0; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,620 INFO L290 TraceCheckUtils]: 12: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} havoc main_#t~nondet27#1; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,622 INFO L290 TraceCheckUtils]: 14: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} havoc main_#t~nondet27#1; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} assume !(main_~i~1#1 < main_~length2~0#1); {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} is VALID [2022-02-20 23:42:10,626 INFO L290 TraceCheckUtils]: 21: Hoare triple {7884#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {7936#(and (<= |ULTIMATE.start_main_~nondetString2~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) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))))} is VALID [2022-02-20 23:42:10,630 INFO L290 TraceCheckUtils]: 22: Hoare triple {7936#(and (<= |ULTIMATE.start_main_~nondetString2~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) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (< |ULTIMATE.start_main_~length2~0#1| 1)))))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {7940#(and (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_#t~post13#1.base|) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (not (< |ULTIMATE.start_main_~length2~0#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|)))) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} is VALID [2022-02-20 23:42:10,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {7940#(and (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_#t~post13#1.base|) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post13#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (not (< |ULTIMATE.start_main_~length2~0#1| 1)) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_cstrstr_#t~post13#1.base|)))) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {7944#(and (or (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< |ULTIMATE.start_cstrstr_~find#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (= |ULTIMATE.start_cstrstr_#t~mem14#1| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:10,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {7944#(and (or (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< |ULTIMATE.start_cstrstr_~find#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (= |ULTIMATE.start_cstrstr_#t~mem14#1| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {7948#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (or (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~c~0#1| 0)) (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< |ULTIMATE.start_cstrstr_~find#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))))} is VALID [2022-02-20 23:42:10,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {7948#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (or (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~c~0#1| 0)) (and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< |ULTIMATE.start_cstrstr_~find#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {7952#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (< |ULTIMATE.start_cstrlen_~s~0#1.offset| (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:10,635 INFO L290 TraceCheckUtils]: 26: Hoare triple {7952#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (< |ULTIMATE.start_cstrlen_~s~0#1.offset| (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {7859#false} is VALID [2022-02-20 23:42:10,635 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:42:10,635 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:42:10,635 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1888753086] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:10,636 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:42:10,636 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [9] total 16 [2022-02-20 23:42:10,636 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [113413780] [2022-02-20 23:42:10,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:10,636 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 27 [2022-02-20 23:42:10,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:10,637 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:42:10,663 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:42:10,663 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:42:10,663 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:10,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:42:10,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=232, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:42:10,665 INFO L87 Difference]: Start difference. First operand 74 states and 83 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:42:11,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:11,191 INFO L93 Difference]: Finished difference Result 114 states and 129 transitions. [2022-02-20 23:42:11,191 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:42:11,191 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 27 [2022-02-20 23:42:11,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:11,192 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:42:11,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 117 transitions. [2022-02-20 23:42:11,192 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:42:11,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 117 transitions. [2022-02-20 23:42:11,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 117 transitions. [2022-02-20 23:42:11,275 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:42:11,276 INFO L225 Difference]: With dead ends: 114 [2022-02-20 23:42:11,276 INFO L226 Difference]: Without dead ends: 114 [2022-02-20 23:42:11,277 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=324, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:42:11,277 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 245 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 245 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 186 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 90 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:11,277 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [245 Valid, 218 Invalid, 186 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 92 Invalid, 0 Unknown, 90 Unchecked, 0.1s Time] [2022-02-20 23:42:11,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-02-20 23:42:11,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 75. [2022-02-20 23:42:11,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:11,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 75 states, 62 states have (on average 1.3548387096774193) internal successors, (84), 74 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:11,279 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 75 states, 62 states have (on average 1.3548387096774193) internal successors, (84), 74 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:11,279 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 75 states, 62 states have (on average 1.3548387096774193) internal successors, (84), 74 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:11,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:11,280 INFO L93 Difference]: Finished difference Result 114 states and 129 transitions. [2022-02-20 23:42:11,280 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 129 transitions. [2022-02-20 23:42:11,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:11,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:11,281 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 62 states have (on average 1.3548387096774193) internal successors, (84), 74 states have internal predecessors, (84), 0 states have call successors, (0), 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 114 states. [2022-02-20 23:42:11,281 INFO L87 Difference]: Start difference. First operand has 75 states, 62 states have (on average 1.3548387096774193) internal successors, (84), 74 states have internal predecessors, (84), 0 states have call successors, (0), 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 114 states. [2022-02-20 23:42:11,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:11,282 INFO L93 Difference]: Finished difference Result 114 states and 129 transitions. [2022-02-20 23:42:11,282 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 129 transitions. [2022-02-20 23:42:11,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:11,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:11,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:11,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:11,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 62 states have (on average 1.3548387096774193) internal successors, (84), 74 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:11,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 84 transitions. [2022-02-20 23:42:11,284 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 84 transitions. Word has length 27 [2022-02-20 23:42:11,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:11,285 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 84 transitions. [2022-02-20 23:42:11,285 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:42:11,285 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2022-02-20 23:42:11,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:42:11,285 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:11,285 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:42:11,304 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:42:11,498 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,SelfDestructingSolverStorable17 [2022-02-20 23:42:11,498 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:11,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:11,499 INFO L85 PathProgramCache]: Analyzing trace with hash 1337529045, now seen corresponding path program 1 times [2022-02-20 23:42:11,499 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:11,499 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [600789255] [2022-02-20 23:42:11,499 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:11,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:11,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:11,884 INFO L290 TraceCheckUtils]: 0: Hoare triple {8378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8378#true} is VALID [2022-02-20 23:42:11,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {8378#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {8378#true} is VALID [2022-02-20 23:42:11,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {8378#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {8380#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:11,885 INFO L290 TraceCheckUtils]: 3: Hoare triple {8380#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~length2~0#1 < 1); {8380#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:11,885 INFO L290 TraceCheckUtils]: 4: Hoare triple {8380#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,887 INFO L290 TraceCheckUtils]: 7: Hoare triple {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet25#1; {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} assume !(main_~i~0#1 < main_~length1~0#1); {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,888 INFO L290 TraceCheckUtils]: 10: Hoare triple {8381#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} main_~i~1#1 := 0; {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,889 INFO L290 TraceCheckUtils]: 12: Hoare triple {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet27#1; {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:11,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {8382#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {8383#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} is VALID [2022-02-20 23:42:11,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {8383#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {8384#(and (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)))} is VALID [2022-02-20 23:42:11,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {8384#(and (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {8384#(and (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)))} is VALID [2022-02-20 23:42:11,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {8384#(and (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)))} havoc main_#t~nondet27#1; {8384#(and (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)))} is VALID [2022-02-20 23:42:11,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {8384#(and (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {8385#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~length1~0#1| 1))) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:11,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {8385#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~length1~0#1| 1))) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)))} assume !(main_~i~1#1 < main_~length2~0#1); {8386#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~length1~0#1| 1)))} is VALID [2022-02-20 23:42:11,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {8386#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~length1~0#1| 1)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {8387#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:11,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {8387#(and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2) (= |ULTIMATE.start_main_~nondetString2~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: L573 {8388#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1) 0))} is VALID [2022-02-20 23:42:11,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {8388#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1) 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {8389#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0))} is VALID [2022-02-20 23:42:11,895 INFO L290 TraceCheckUtils]: 23: Hoare triple {8389#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:11,896 INFO L290 TraceCheckUtils]: 24: Hoare triple {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:11,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {8391#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0)} is VALID [2022-02-20 23:42:11,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {8391#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {8392#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:11,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {8392#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {8379#false} is VALID [2022-02-20 23:42:11,897 INFO L290 TraceCheckUtils]: 28: Hoare triple {8379#false} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {8379#false} is VALID [2022-02-20 23:42:11,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {8379#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {8379#false} is VALID [2022-02-20 23:42:11,898 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:11,898 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:11,898 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [600789255] [2022-02-20 23:42:11,898 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [600789255] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:11,898 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1511142894] [2022-02-20 23:42:11,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:11,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:11,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:11,900 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:42:11,901 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:42:11,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:11,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 41 conjunts are in the unsatisfiable core [2022-02-20 23:42:11,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:11,995 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:12,243 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:42:13,391 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:13,393 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:13,393 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 18 treesize of output 10 [2022-02-20 23:42:13,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {8378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8378#true} is VALID [2022-02-20 23:42:13,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {8378#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {8378#true} is VALID [2022-02-20 23:42:13,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {8378#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {8378#true} is VALID [2022-02-20 23:42:13,447 INFO L290 TraceCheckUtils]: 3: Hoare triple {8378#true} assume !(main_~length2~0#1 < 1); {8378#true} is VALID [2022-02-20 23:42:13,448 INFO L290 TraceCheckUtils]: 4: Hoare triple {8378#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:13,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:13,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:13,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} havoc main_#t~nondet25#1; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:13,449 INFO L290 TraceCheckUtils]: 8: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:13,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1); {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:13,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_~i~1#1 := 0; {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:13,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:13,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:13,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet27#1; {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:13,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {8427#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {8440#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} is VALID [2022-02-20 23:42:13,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {8440#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {8444#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} is VALID [2022-02-20 23:42:13,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {8444#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {8444#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} is VALID [2022-02-20 23:42:13,453 INFO L290 TraceCheckUtils]: 17: Hoare triple {8444#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} havoc main_#t~nondet27#1; {8444#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} is VALID [2022-02-20 23:42:13,453 INFO L290 TraceCheckUtils]: 18: Hoare triple {8444#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~i~1#1|) 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {8454#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 2) (< 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:13,454 INFO L290 TraceCheckUtils]: 19: Hoare triple {8454#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 2) (< 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1); {8458#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:13,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {8458#(and (<= |ULTIMATE.start_main_~nondetString2~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: L568-4 {8458#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:13,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {8458#(and (<= |ULTIMATE.start_main_~nondetString2~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: L573 {8465#(and (<= |ULTIMATE.start_main_~nondetString2~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:42:13,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {8465#(and (<= |ULTIMATE.start_main_~nondetString2~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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {8469#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#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))) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} is VALID [2022-02-20 23:42:13,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {8469#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#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))) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {8473#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:13,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {8473#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {8473#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:13,463 INFO L290 TraceCheckUtils]: 25: Hoare triple {8473#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {8480#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|))} is VALID [2022-02-20 23:42:13,464 INFO L290 TraceCheckUtils]: 26: Hoare triple {8480#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {8392#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:13,464 INFO L290 TraceCheckUtils]: 27: Hoare triple {8392#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {8379#false} is VALID [2022-02-20 23:42:13,465 INFO L290 TraceCheckUtils]: 28: Hoare triple {8379#false} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {8379#false} is VALID [2022-02-20 23:42:13,465 INFO L290 TraceCheckUtils]: 29: Hoare triple {8379#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {8379#false} is VALID [2022-02-20 23:42:13,465 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:13,465 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:13,695 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 13 [2022-02-20 23:42:13,716 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 26 treesize of output 22 [2022-02-20 23:42:14,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {8379#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {8379#false} is VALID [2022-02-20 23:42:14,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {8379#false} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {8379#false} is VALID [2022-02-20 23:42:14,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {8392#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {8379#false} is VALID [2022-02-20 23:42:14,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {8391#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {8392#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:14,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {8391#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0)} is VALID [2022-02-20 23:42:14,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:14,005 INFO L290 TraceCheckUtils]: 23: Hoare triple {8511#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {8390#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:14,006 INFO L290 TraceCheckUtils]: 22: Hoare triple {8515#(forall ((|v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10| Int)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10| 1)) 0) (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10|))))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {8511#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0))} is VALID [2022-02-20 23:42:14,006 INFO L290 TraceCheckUtils]: 21: Hoare triple {8519#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |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: L573 {8515#(forall ((|v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10| Int)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10| 1)) 0) (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post13#1.offset_10|))))} is VALID [2022-02-20 23:42:14,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {8519#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |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: L568-4 {8519#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)))} is VALID [2022-02-20 23:42:14,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {8526#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1); {8519#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)))} is VALID [2022-02-20 23:42:14,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {8530#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {8526#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,008 INFO L290 TraceCheckUtils]: 17: Hoare triple {8530#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet27#1; {8530#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {8530#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {8530#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {8540#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 1)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {8530#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {8540#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 1)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|)))} is VALID [2022-02-20 23:42:14,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} havoc main_#t~nondet27#1; {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} is VALID [2022-02-20 23:42:14,010 INFO L290 TraceCheckUtils]: 12: Hoare triple {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} is VALID [2022-02-20 23:42:14,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} is VALID [2022-02-20 23:42:14,011 INFO L290 TraceCheckUtils]: 10: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_~i~1#1 := 0; {8544#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0)))} is VALID [2022-02-20 23:42:14,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1); {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} havoc main_#t~nondet25#1; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,012 INFO L290 TraceCheckUtils]: 6: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,013 INFO L290 TraceCheckUtils]: 4: Hoare triple {8378#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {8408#(<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,013 INFO L290 TraceCheckUtils]: 3: Hoare triple {8378#true} assume !(main_~length2~0#1 < 1); {8378#true} is VALID [2022-02-20 23:42:14,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {8378#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {8378#true} is VALID [2022-02-20 23:42:14,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {8378#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {8378#true} is VALID [2022-02-20 23:42:14,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {8378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8378#true} is VALID [2022-02-20 23:42:14,013 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:14,013 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1511142894] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:14,013 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:14,014 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 32 [2022-02-20 23:42:14,014 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1216179847] [2022-02-20 23:42:14,014 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:14,014 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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) Word has length 30 [2022-02-20 23:42:14,014 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:14,014 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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:42:14,084 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:42:14,085 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-02-20 23:42:14,085 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:14,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-02-20 23:42:14,085 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=123, Invalid=869, Unknown=0, NotChecked=0, Total=992 [2022-02-20 23:42:14,086 INFO L87 Difference]: Start difference. First operand 75 states and 84 transitions. Second operand has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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:42:16,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:16,004 INFO L93 Difference]: Finished difference Result 121 states and 133 transitions. [2022-02-20 23:42:16,004 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-02-20 23:42:16,004 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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) Word has length 30 [2022-02-20 23:42:16,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:16,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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:42:16,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 133 transitions. [2022-02-20 23:42:16,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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:42:16,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 133 transitions. [2022-02-20 23:42:16,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 133 transitions. [2022-02-20 23:42:16,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:16,082 INFO L225 Difference]: With dead ends: 121 [2022-02-20 23:42:16,082 INFO L226 Difference]: Without dead ends: 121 [2022-02-20 23:42:16,083 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 43 SyntacticMatches, 2 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 553 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=404, Invalid=2146, Unknown=0, NotChecked=0, Total=2550 [2022-02-20 23:42:16,083 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 202 mSDsluCounter, 807 mSDsCounter, 0 mSdLazyCounter, 291 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 202 SdHoareTripleChecker+Valid, 864 SdHoareTripleChecker+Invalid, 475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 291 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 142 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:16,084 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [202 Valid, 864 Invalid, 475 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 291 Invalid, 0 Unknown, 142 Unchecked, 0.3s Time] [2022-02-20 23:42:16,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-02-20 23:42:16,085 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 87. [2022-02-20 23:42:16,085 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:16,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 87 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 86 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:42:16,085 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 87 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 86 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:42:16,085 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 87 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 86 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:42:16,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:16,086 INFO L93 Difference]: Finished difference Result 121 states and 133 transitions. [2022-02-20 23:42:16,086 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 133 transitions. [2022-02-20 23:42:16,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:16,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:16,087 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 86 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 121 states. [2022-02-20 23:42:16,088 INFO L87 Difference]: Start difference. First operand has 87 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 86 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 121 states. [2022-02-20 23:42:16,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:16,089 INFO L93 Difference]: Finished difference Result 121 states and 133 transitions. [2022-02-20 23:42:16,089 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 133 transitions. [2022-02-20 23:42:16,089 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:16,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:16,090 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:16,090 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:16,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 86 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:42:16,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 97 transitions. [2022-02-20 23:42:16,092 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 97 transitions. Word has length 30 [2022-02-20 23:42:16,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:16,092 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 97 transitions. [2022-02-20 23:42:16,092 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 2.15625) internal successors, (69), 32 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:42:16,092 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2022-02-20 23:42:16,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 23:42:16,093 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:16,093 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, 1, 1, 1] [2022-02-20 23:42:16,149 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:42:16,307 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:16,308 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr12REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:16,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:16,308 INFO L85 PathProgramCache]: Analyzing trace with hash 1863084157, now seen corresponding path program 1 times [2022-02-20 23:42:16,308 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:16,308 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [899194624] [2022-02-20 23:42:16,308 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:16,308 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:16,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:16,380 INFO L290 TraceCheckUtils]: 0: Hoare triple {9076#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9076#true} is VALID [2022-02-20 23:42:16,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {9076#true} is VALID [2022-02-20 23:42:16,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {9076#true} is VALID [2022-02-20 23:42:16,381 INFO L290 TraceCheckUtils]: 3: Hoare triple {9076#true} assume !(main_~length2~0#1 < 1); {9076#true} is VALID [2022-02-20 23:42:16,381 INFO L290 TraceCheckUtils]: 4: Hoare triple {9076#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {9076#true} is VALID [2022-02-20 23:42:16,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {9076#true} is VALID [2022-02-20 23:42:16,381 INFO L290 TraceCheckUtils]: 6: Hoare triple {9076#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet25#1; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(main_~i~0#1 < main_~length1~0#1); {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,382 INFO L290 TraceCheckUtils]: 10: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_~i~1#1 := 0; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet27#1; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,384 INFO L290 TraceCheckUtils]: 17: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet27#1; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(main_~i~1#1 < main_~length2~0#1); {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {9078#(= (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: L573 {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:16,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {9078#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,387 INFO L290 TraceCheckUtils]: 24: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,388 INFO L290 TraceCheckUtils]: 28: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,389 INFO L290 TraceCheckUtils]: 29: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,389 INFO L290 TraceCheckUtils]: 30: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} goto; {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:16,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {9079#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {9080#(= (select |#valid| |ULTIMATE.start_cstrstr_#t~post17#1.base|) 1)} is VALID [2022-02-20 23:42:16,390 INFO L290 TraceCheckUtils]: 32: Hoare triple {9080#(= (select |#valid| |ULTIMATE.start_cstrstr_#t~post17#1.base|) 1)} assume !(1 == #valid[cstrstr_#t~post17#1.base]); {9077#false} is VALID [2022-02-20 23:42:16,390 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:16,390 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:16,390 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [899194624] [2022-02-20 23:42:16,390 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [899194624] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:16,390 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:16,391 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:42:16,391 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1137798253] [2022-02-20 23:42:16,391 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:16,391 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 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 33 [2022-02-20 23:42:16,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:16,392 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:16,408 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:42:16,408 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:16,408 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:42:16,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:42:16,408 INFO L87 Difference]: Start difference. First operand 87 states and 97 transitions. Second operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:16,552 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-02-20 23:42:16,552 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:16,552 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 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 33 [2022-02-20 23:42:16,553 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:16,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 23:42:16,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 23:42:16,554 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2022-02-20 23:42:16,603 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:42:16,603 INFO L225 Difference]: With dead ends: 86 [2022-02-20 23:42:16,603 INFO L226 Difference]: Without dead ends: 86 [2022-02-20 23:42:16,604 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:42:16,604 INFO L933 BasicCegarLoop]: 48 mSDtfsCounter, 93 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 93 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:16,604 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [93 Valid, 106 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:16,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-02-20 23:42:16,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-02-20 23:42:16,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:16,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 86 states, 74 states have (on average 1.2972972972972974) internal successors, (96), 85 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,605 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 86 states, 74 states have (on average 1.2972972972972974) internal successors, (96), 85 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,606 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 86 states, 74 states have (on average 1.2972972972972974) internal successors, (96), 85 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:16,613 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-02-20 23:42:16,613 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-02-20 23:42:16,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:16,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:16,613 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 74 states have (on average 1.2972972972972974) internal successors, (96), 85 states have internal predecessors, (96), 0 states have call successors, (0), 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 86 states. [2022-02-20 23:42:16,613 INFO L87 Difference]: Start difference. First operand has 86 states, 74 states have (on average 1.2972972972972974) internal successors, (96), 85 states have internal predecessors, (96), 0 states have call successors, (0), 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 86 states. [2022-02-20 23:42:16,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:16,615 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-02-20 23:42:16,615 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-02-20 23:42:16,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:16,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:16,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:16,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:16,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 74 states have (on average 1.2972972972972974) internal successors, (96), 85 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 96 transitions. [2022-02-20 23:42:16,618 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 96 transitions. Word has length 33 [2022-02-20 23:42:16,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:16,618 INFO L470 AbstractCegarLoop]: Abstraction has 86 states and 96 transitions. [2022-02-20 23:42:16,618 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:16,618 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-02-20 23:42:16,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 23:42:16,620 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:16,620 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, 1, 1, 1] [2022-02-20 23:42:16,620 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2022-02-20 23:42:16,620 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:16,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:16,620 INFO L85 PathProgramCache]: Analyzing trace with hash 1863084158, now seen corresponding path program 1 times [2022-02-20 23:42:16,621 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:16,621 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1570062535] [2022-02-20 23:42:16,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:16,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:16,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:16,727 INFO L290 TraceCheckUtils]: 0: Hoare triple {9431#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9431#true} is VALID [2022-02-20 23:42:16,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {9431#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {9431#true} is VALID [2022-02-20 23:42:16,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {9431#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {9431#true} is VALID [2022-02-20 23:42:16,728 INFO L290 TraceCheckUtils]: 3: Hoare triple {9431#true} assume !(main_~length2~0#1 < 1); {9431#true} is VALID [2022-02-20 23:42:16,728 INFO L290 TraceCheckUtils]: 4: Hoare triple {9431#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {9433#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {9433#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {9433#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,730 INFO L290 TraceCheckUtils]: 6: Hoare triple {9433#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {9434#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {9434#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {9434#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {9434#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {9435#(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:42:16,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {9435#(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 !(main_~i~0#1 < main_~length1~0#1); {9435#(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:42:16,732 INFO L290 TraceCheckUtils]: 10: Hoare triple {9435#(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|)))} main_~i~1#1 := 0; {9435#(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:42:16,732 INFO L290 TraceCheckUtils]: 11: Hoare triple {9435#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9435#(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:42:16,733 INFO L290 TraceCheckUtils]: 12: Hoare triple {9435#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9435#(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:42:16,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {9435#(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|)))} havoc main_#t~nondet27#1; {9435#(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:42:16,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {9435#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9435#(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:42:16,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {9435#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9435#(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:42:16,735 INFO L290 TraceCheckUtils]: 16: Hoare triple {9435#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9435#(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:42:16,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {9435#(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|)))} havoc main_#t~nondet27#1; {9435#(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:42:16,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {9435#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9435#(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:42:16,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {9435#(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 !(main_~i~1#1 < main_~length2~0#1); {9435#(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:42:16,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {9435#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {9435#(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:42:16,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {9435#(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: L573 {9435#(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:42:16,738 INFO L290 TraceCheckUtils]: 22: Hoare triple {9435#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,740 INFO L290 TraceCheckUtils]: 26: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,741 INFO L290 TraceCheckUtils]: 28: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,742 INFO L290 TraceCheckUtils]: 30: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:16,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {9437#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)))} is VALID [2022-02-20 23:42:16,743 INFO L290 TraceCheckUtils]: 32: Hoare triple {9437#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {9432#false} is VALID [2022-02-20 23:42:16,743 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:16,743 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:16,744 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1570062535] [2022-02-20 23:42:16,744 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1570062535] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:16,744 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [646526807] [2022-02-20 23:42:16,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:16,744 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:16,744 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:16,746 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:42:16,766 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:42:16,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:16,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 26 conjunts are in the unsatisfiable core [2022-02-20 23:42:16,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:16,848 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:16,951 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:42:16,952 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:42:16,960 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:42:17,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {9431#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9431#true} is VALID [2022-02-20 23:42:17,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {9431#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {9431#true} is VALID [2022-02-20 23:42:17,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {9431#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {9447#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:17,197 INFO L290 TraceCheckUtils]: 3: Hoare triple {9447#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~length2~0#1 < 1); {9447#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:17,198 INFO L290 TraceCheckUtils]: 4: Hoare triple {9447#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {9435#(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:42:17,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {9435#(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 !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {9435#(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:42:17,198 INFO L290 TraceCheckUtils]: 6: Hoare triple {9435#(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(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {9435#(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:42:17,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {9435#(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|)))} havoc main_#t~nondet25#1; {9435#(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:42:17,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {9435#(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|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {9435#(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:42:17,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {9435#(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 !(main_~i~0#1 < main_~length1~0#1); {9435#(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:42:17,200 INFO L290 TraceCheckUtils]: 10: Hoare triple {9435#(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|)))} main_~i~1#1 := 0; {9435#(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:42:17,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {9435#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9435#(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:42:17,201 INFO L290 TraceCheckUtils]: 12: Hoare triple {9435#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9435#(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:42:17,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {9435#(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|)))} havoc main_#t~nondet27#1; {9435#(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:42:17,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {9435#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9435#(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:42:17,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {9435#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9435#(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:42:17,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {9435#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9435#(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:42:17,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {9435#(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|)))} havoc main_#t~nondet27#1; {9435#(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:42:17,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {9435#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9435#(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:42:17,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {9435#(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 !(main_~i~1#1 < main_~length2~0#1); {9435#(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:42:17,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {9435#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {9435#(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:42:17,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {9435#(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: L573 {9435#(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:42:17,205 INFO L290 TraceCheckUtils]: 22: Hoare triple {9435#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,207 INFO L290 TraceCheckUtils]: 26: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,208 INFO L290 TraceCheckUtils]: 29: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:17,209 INFO L290 TraceCheckUtils]: 31: Hoare triple {9436#(and (<= 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {9437#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)))} is VALID [2022-02-20 23:42:17,209 INFO L290 TraceCheckUtils]: 32: Hoare triple {9437#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {9432#false} is VALID [2022-02-20 23:42:17,210 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:42:17,210 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:42:17,210 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [646526807] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:17,210 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:42:17,210 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-02-20 23:42:17,210 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1711358820] [2022-02-20 23:42:17,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:17,211 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 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 33 [2022-02-20 23:42:17,211 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:17,211 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:17,234 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:42:17,234 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:17,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:42:17,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:42:17,235 INFO L87 Difference]: Start difference. First operand 86 states and 96 transitions. Second operand has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:17,445 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2022-02-20 23:42:17,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:42:17,445 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 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 33 [2022-02-20 23:42:17,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:17,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-02-20 23:42:17,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-02-20 23:42:17,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-02-20 23:42:17,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:17,508 INFO L225 Difference]: With dead ends: 91 [2022-02-20 23:42:17,508 INFO L226 Difference]: Without dead ends: 91 [2022-02-20 23:42:17,508 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 30 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:42:17,509 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 127 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 127 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:17,509 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [127 Valid, 131 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:17,509 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-02-20 23:42:17,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 89. [2022-02-20 23:42:17,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:17,510 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 89 states, 77 states have (on average 1.2857142857142858) internal successors, (99), 88 states have internal predecessors, (99), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,510 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 89 states, 77 states have (on average 1.2857142857142858) internal successors, (99), 88 states have internal predecessors, (99), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,510 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 89 states, 77 states have (on average 1.2857142857142858) internal successors, (99), 88 states have internal predecessors, (99), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:17,511 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2022-02-20 23:42:17,511 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2022-02-20 23:42:17,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:17,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:17,511 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 77 states have (on average 1.2857142857142858) internal successors, (99), 88 states have internal predecessors, (99), 0 states have call successors, (0), 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:42:17,512 INFO L87 Difference]: Start difference. First operand has 89 states, 77 states have (on average 1.2857142857142858) internal successors, (99), 88 states have internal predecessors, (99), 0 states have call successors, (0), 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:42:17,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:17,513 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2022-02-20 23:42:17,513 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2022-02-20 23:42:17,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:17,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:17,513 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:17,513 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:17,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 77 states have (on average 1.2857142857142858) internal successors, (99), 88 states have internal predecessors, (99), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 99 transitions. [2022-02-20 23:42:17,514 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 99 transitions. Word has length 33 [2022-02-20 23:42:17,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:17,514 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 99 transitions. [2022-02-20 23:42:17,514 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.8) internal successors, (29), 6 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:17,514 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 99 transitions. [2022-02-20 23:42:17,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:42:17,514 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:17,514 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 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:42:17,545 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:42:17,714 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,SelfDestructingSolverStorable20 [2022-02-20 23:42:17,715 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:17,715 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:17,715 INFO L85 PathProgramCache]: Analyzing trace with hash 1878769906, now seen corresponding path program 2 times [2022-02-20 23:42:17,715 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:17,715 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [771708345] [2022-02-20 23:42:17,715 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:17,715 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:17,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:17,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {9905#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9905#true} is VALID [2022-02-20 23:42:17,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {9905#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {9905#true} is VALID [2022-02-20 23:42:17,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {9905#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {9905#true} is VALID [2022-02-20 23:42:17,921 INFO L290 TraceCheckUtils]: 3: Hoare triple {9905#true} assume !(main_~length2~0#1 < 1); {9905#true} is VALID [2022-02-20 23:42:17,922 INFO L290 TraceCheckUtils]: 4: Hoare triple {9905#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {9907#(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:42:17,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {9907#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {9907#(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:42:17,923 INFO L290 TraceCheckUtils]: 6: Hoare triple {9907#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {9907#(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:42:17,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {9907#(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~nondet25#1; {9907#(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:42:17,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {9907#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {9907#(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:42:17,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {9907#(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); {9907#(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:42:17,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {9907#(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; {9908#(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:42:17,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {9908#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9908#(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:42:17,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {9908#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9908#(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:42:17,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {9908#(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~nondet27#1; {9908#(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:42:17,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {9908#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9909#(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:42:17,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {9909#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9909#(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:42:17,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {9909#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9909#(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:42:17,929 INFO L290 TraceCheckUtils]: 17: Hoare triple {9909#(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~nondet27#1; {9909#(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:42:17,929 INFO L290 TraceCheckUtils]: 18: Hoare triple {9909#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9910#(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:42:17,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {9910#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9911#(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:42:17,930 INFO L290 TraceCheckUtils]: 20: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9911#(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:42:17,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {9911#(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:42:17,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9911#(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:42:17,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1); {9911#(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:42:17,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (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: L568-4 {9911#(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:42:17,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (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: L573 {9911#(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:42:17,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {9911#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {9912#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:17,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {9912#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {9913#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:17,935 INFO L290 TraceCheckUtils]: 28: Hoare triple {9913#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {9913#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:17,935 INFO L290 TraceCheckUtils]: 29: Hoare triple {9913#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {9914#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:17,936 INFO L290 TraceCheckUtils]: 30: Hoare triple {9914#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {9914#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:17,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {9914#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {9914#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:17,937 INFO L290 TraceCheckUtils]: 32: Hoare triple {9914#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {9915#(and (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:17,937 INFO L290 TraceCheckUtils]: 33: Hoare triple {9915#(and (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {9906#false} is VALID [2022-02-20 23:42:17,938 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 1 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:17,938 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:17,938 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [771708345] [2022-02-20 23:42:17,938 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [771708345] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:17,938 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [857903174] [2022-02-20 23:42:17,939 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:42:17,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:17,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:17,940 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:42:17,941 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:42:18,027 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:42:18,027 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:18,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 38 conjunts are in the unsatisfiable core [2022-02-20 23:42:18,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:18,042 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:18,103 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:18,103 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:42:18,577 INFO L290 TraceCheckUtils]: 0: Hoare triple {9905#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9905#true} is VALID [2022-02-20 23:42:18,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {9905#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {9905#true} is VALID [2022-02-20 23:42:18,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {9905#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {9905#true} is VALID [2022-02-20 23:42:18,577 INFO L290 TraceCheckUtils]: 3: Hoare triple {9905#true} assume !(main_~length2~0#1 < 1); {9905#true} is VALID [2022-02-20 23:42:18,578 INFO L290 TraceCheckUtils]: 4: Hoare triple {9905#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {9931#(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:42:18,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {9931#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {9931#(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:42:18,579 INFO L290 TraceCheckUtils]: 6: Hoare triple {9931#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {9931#(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:42:18,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {9931#(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~nondet25#1; {9931#(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:42:18,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {9931#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {9931#(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:42:18,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {9931#(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); {9931#(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:42:18,581 INFO L290 TraceCheckUtils]: 10: Hoare triple {9931#(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; {9950#(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:42:18,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {9950#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9950#(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:42:18,582 INFO L290 TraceCheckUtils]: 12: Hoare triple {9950#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9950#(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:42:18,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {9950#(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~nondet27#1; {9950#(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:42:18,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {9950#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9963#(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:42:18,583 INFO L290 TraceCheckUtils]: 15: Hoare triple {9963#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9963#(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:42:18,584 INFO L290 TraceCheckUtils]: 16: Hoare triple {9963#(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|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9963#(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:42:18,584 INFO L290 TraceCheckUtils]: 17: Hoare triple {9963#(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|))} havoc main_#t~nondet27#1; {9963#(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:42:18,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {9963#(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|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9976#(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:42:18,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {9976#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {9980#(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:42:18,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {9980#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {9980#(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:42:18,586 INFO L290 TraceCheckUtils]: 21: Hoare triple {9980#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {9980#(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:42:18,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {9980#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {9980#(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:42:18,587 INFO L290 TraceCheckUtils]: 23: Hoare triple {9980#(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); {9980#(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:42:18,587 INFO L290 TraceCheckUtils]: 24: Hoare triple {9980#(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: L568-4 {9980#(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:42:18,588 INFO L290 TraceCheckUtils]: 25: Hoare triple {9980#(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: L573 {9980#(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:42:18,588 INFO L290 TraceCheckUtils]: 26: Hoare triple {9980#(and (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (< 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {10002#(and (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (< 2 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} is VALID [2022-02-20 23:42:18,589 INFO L290 TraceCheckUtils]: 27: Hoare triple {10002#(and (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (< 2 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {10006#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:18,589 INFO L290 TraceCheckUtils]: 28: Hoare triple {10006#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {10006#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:18,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {10006#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {10013#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))} is VALID [2022-02-20 23:42:18,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {10013#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {10013#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))} is VALID [2022-02-20 23:42:18,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {10013#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {10013#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))} is VALID [2022-02-20 23:42:18,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {10013#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {10023#(and (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|))} is VALID [2022-02-20 23:42:18,592 INFO L290 TraceCheckUtils]: 33: Hoare triple {10023#(and (< 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {9906#false} is VALID [2022-02-20 23:42:18,592 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:18,592 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:19,121 INFO L290 TraceCheckUtils]: 33: Hoare triple {10027#(and (<= 0 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {9906#false} is VALID [2022-02-20 23:42:19,122 INFO L290 TraceCheckUtils]: 32: Hoare triple {10031#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {10027#(and (<= 0 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:19,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {10031#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {10031#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:19,123 INFO L290 TraceCheckUtils]: 30: Hoare triple {10031#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {10031#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:19,123 INFO L290 TraceCheckUtils]: 29: Hoare triple {10041#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {10031#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:19,124 INFO L290 TraceCheckUtils]: 28: Hoare triple {10041#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {10041#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:19,124 INFO L290 TraceCheckUtils]: 27: Hoare triple {10048#(or (and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {10041#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:19,125 INFO L290 TraceCheckUtils]: 26: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {10048#(or (and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)))} is VALID [2022-02-20 23:42:19,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (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: L573 {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,126 INFO L290 TraceCheckUtils]: 24: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (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: L568-4 {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,126 INFO L290 TraceCheckUtils]: 23: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1); {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,126 INFO L290 TraceCheckUtils]: 22: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,127 INFO L290 TraceCheckUtils]: 21: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,127 INFO L290 TraceCheckUtils]: 20: Hoare triple {10052#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,127 INFO L290 TraceCheckUtils]: 19: Hoare triple {10074#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10052#(or (< |ULTIMATE.start_main_~nondetString2~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:42:19,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10074#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} havoc main_#t~nondet27#1; {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:19,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:19,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:19,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10078#(or (< |ULTIMATE.start_main_~nondetString2~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| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:19,150 INFO L290 TraceCheckUtils]: 13: Hoare triple {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,150 INFO L290 TraceCheckUtils]: 12: Hoare triple {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,151 INFO L290 TraceCheckUtils]: 11: Hoare triple {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,151 INFO L290 TraceCheckUtils]: 10: Hoare triple {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {10091#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1); {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet25#1; {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,153 INFO L290 TraceCheckUtils]: 6: Hoare triple {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,154 INFO L290 TraceCheckUtils]: 4: Hoare triple {9905#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {10104#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:19,154 INFO L290 TraceCheckUtils]: 3: Hoare triple {9905#true} assume !(main_~length2~0#1 < 1); {9905#true} is VALID [2022-02-20 23:42:19,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {9905#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {9905#true} is VALID [2022-02-20 23:42:19,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {9905#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {9905#true} is VALID [2022-02-20 23:42:19,154 INFO L290 TraceCheckUtils]: 0: Hoare triple {9905#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9905#true} is VALID [2022-02-20 23:42:19,154 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:19,155 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [857903174] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:19,155 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:19,155 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 28 [2022-02-20 23:42:19,155 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1797790744] [2022-02-20 23:42:19,155 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:19,156 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 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 34 [2022-02-20 23:42:19,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:19,156 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:19,216 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:19,216 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-02-20 23:42:19,217 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:19,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-02-20 23:42:19,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=692, Unknown=0, NotChecked=0, Total=812 [2022-02-20 23:42:19,218 INFO L87 Difference]: Start difference. First operand 89 states and 99 transitions. Second operand has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:20,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:20,925 INFO L93 Difference]: Finished difference Result 211 states and 238 transitions. [2022-02-20 23:42:20,925 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:42:20,925 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 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 34 [2022-02-20 23:42:20,925 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:20,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:20,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 219 transitions. [2022-02-20 23:42:20,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:20,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 219 transitions. [2022-02-20 23:42:20,927 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 219 transitions. [2022-02-20 23:42:21,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 219 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:21,064 INFO L225 Difference]: With dead ends: 211 [2022-02-20 23:42:21,064 INFO L226 Difference]: Without dead ends: 211 [2022-02-20 23:42:21,064 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 251 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=312, Invalid=1094, Unknown=0, NotChecked=0, Total=1406 [2022-02-20 23:42:21,065 INFO L933 BasicCegarLoop]: 104 mSDtfsCounter, 907 mSDsluCounter, 815 mSDsCounter, 0 mSdLazyCounter, 677 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 907 SdHoareTripleChecker+Valid, 919 SdHoareTripleChecker+Invalid, 721 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 677 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:21,065 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [907 Valid, 919 Invalid, 721 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 677 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:42:21,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 211 states. [2022-02-20 23:42:21,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 211 to 92. [2022-02-20 23:42:21,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:21,066 INFO L82 GeneralOperation]: Start isEquivalent. First operand 211 states. Second operand has 92 states, 80 states have (on average 1.2875) internal successors, (103), 91 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:21,066 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand has 92 states, 80 states have (on average 1.2875) internal successors, (103), 91 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:21,067 INFO L87 Difference]: Start difference. First operand 211 states. Second operand has 92 states, 80 states have (on average 1.2875) internal successors, (103), 91 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:21,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:21,070 INFO L93 Difference]: Finished difference Result 211 states and 238 transitions. [2022-02-20 23:42:21,070 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 238 transitions. [2022-02-20 23:42:21,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:21,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:21,070 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 80 states have (on average 1.2875) internal successors, (103), 91 states have internal predecessors, (103), 0 states have call successors, (0), 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 211 states. [2022-02-20 23:42:21,070 INFO L87 Difference]: Start difference. First operand has 92 states, 80 states have (on average 1.2875) internal successors, (103), 91 states have internal predecessors, (103), 0 states have call successors, (0), 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 211 states. [2022-02-20 23:42:21,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:21,073 INFO L93 Difference]: Finished difference Result 211 states and 238 transitions. [2022-02-20 23:42:21,073 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 238 transitions. [2022-02-20 23:42:21,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:21,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:21,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:21,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:21,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 80 states have (on average 1.2875) internal successors, (103), 91 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:21,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 103 transitions. [2022-02-20 23:42:21,074 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 103 transitions. Word has length 34 [2022-02-20 23:42:21,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:21,075 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 103 transitions. [2022-02-20 23:42:21,075 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 28 states have (on average 3.357142857142857) internal successors, (94), 29 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:21,075 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 103 transitions. [2022-02-20 23:42:21,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:42:21,081 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:21,081 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:21,099 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:42:21,298 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,SelfDestructingSolverStorable21 [2022-02-20 23:42:21,298 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:21,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:21,298 INFO L85 PathProgramCache]: Analyzing trace with hash -1579516876, now seen corresponding path program 3 times [2022-02-20 23:42:21,298 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:21,298 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1070934537] [2022-02-20 23:42:21,298 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:21,298 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:21,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:21,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {10877#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10877#true} is VALID [2022-02-20 23:42:21,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {10877#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {10877#true} is VALID [2022-02-20 23:42:21,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {10877#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {10877#true} is VALID [2022-02-20 23:42:21,465 INFO L290 TraceCheckUtils]: 3: Hoare triple {10877#true} assume !(main_~length2~0#1 < 1); {10877#true} is VALID [2022-02-20 23:42:21,466 INFO L290 TraceCheckUtils]: 4: Hoare triple {10877#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:21,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:21,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:21,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} havoc main_#t~nondet25#1; {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:21,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:21,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1); {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:21,467 INFO L290 TraceCheckUtils]: 10: Hoare triple {10879#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_~i~1#1 := 0; {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:21,468 INFO L290 TraceCheckUtils]: 11: Hoare triple {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:21,471 INFO L290 TraceCheckUtils]: 12: Hoare triple {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:21,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet27#1; {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:21,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {10880#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:21,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:21,472 INFO L290 TraceCheckUtils]: 16: Hoare triple {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:21,473 INFO L290 TraceCheckUtils]: 17: Hoare triple {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} havoc main_#t~nondet27#1; {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:21,473 INFO L290 TraceCheckUtils]: 18: Hoare triple {10881#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10882#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} is VALID [2022-02-20 23:42:21,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {10882#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10883#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} is VALID [2022-02-20 23:42:21,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {10883#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10883#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} is VALID [2022-02-20 23:42:21,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {10883#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} havoc main_#t~nondet27#1; {10883#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} is VALID [2022-02-20 23:42:21,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {10883#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (not (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1))) (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0)) (or (and (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 2 |ULTIMATE.start_main_~i~1#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|)) 0))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10884#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (+ (- 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:42:21,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {10884#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (+ (- 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); {10885#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:21,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {10885#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (+ (- 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: L568-4 {10885#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:21,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {10885#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (+ (- 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: L573 {10886#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:21,477 INFO L290 TraceCheckUtils]: 26: Hoare triple {10886#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {10887#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) |ULTIMATE.start_cstrstr_~find#1.offset| 1)) 0) (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0))} is VALID [2022-02-20 23:42:21,478 INFO L290 TraceCheckUtils]: 27: Hoare triple {10887#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (* (- 1) |ULTIMATE.start_cstrstr_#t~post13#1.offset|) |ULTIMATE.start_cstrstr_~find#1.offset| 1)) 0) (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {10888#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:21,478 INFO L290 TraceCheckUtils]: 28: Hoare triple {10888#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {10888#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:21,478 INFO L290 TraceCheckUtils]: 29: Hoare triple {10888#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {10889#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:21,478 INFO L290 TraceCheckUtils]: 30: Hoare triple {10889#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) 0)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {10889#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:21,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {10889#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) 0)} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {10889#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:21,479 INFO L290 TraceCheckUtils]: 32: Hoare triple {10889#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) 0)} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {10890#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0)} is VALID [2022-02-20 23:42:21,480 INFO L290 TraceCheckUtils]: 33: Hoare triple {10890#(= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {10891#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:21,480 INFO L290 TraceCheckUtils]: 34: Hoare triple {10891#(= |ULTIMATE.start_cstrlen_#t~mem3#1| 0)} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {10878#false} is VALID [2022-02-20 23:42:21,480 INFO L290 TraceCheckUtils]: 35: Hoare triple {10878#false} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {10878#false} is VALID [2022-02-20 23:42:21,480 INFO L290 TraceCheckUtils]: 36: Hoare triple {10878#false} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {10878#false} is VALID [2022-02-20 23:42:21,480 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:21,480 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:21,481 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1070934537] [2022-02-20 23:42:21,481 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1070934537] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:21,481 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1885262524] [2022-02-20 23:42:21,481 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:42:21,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:21,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:21,482 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:42:21,484 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:42:21,576 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 23:42:21,576 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:21,577 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 43 conjunts are in the unsatisfiable core [2022-02-20 23:42:21,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:21,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:21,611 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:21,611 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:42:21,726 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:42:21,901 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:21,902 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 19 treesize of output 19 [2022-02-20 23:42:21,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {10877#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10877#true} is VALID [2022-02-20 23:42:21,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {10877#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {10877#true} is VALID [2022-02-20 23:42:21,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {10877#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {10877#true} is VALID [2022-02-20 23:42:21,985 INFO L290 TraceCheckUtils]: 3: Hoare triple {10877#true} assume !(main_~length2~0#1 < 1); {10877#true} is VALID [2022-02-20 23:42:21,986 INFO L290 TraceCheckUtils]: 4: Hoare triple {10877#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {10907#(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:42:21,986 INFO L290 TraceCheckUtils]: 5: Hoare triple {10907#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {10907#(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:42:21,987 INFO L290 TraceCheckUtils]: 6: Hoare triple {10907#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {10907#(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:42:21,987 INFO L290 TraceCheckUtils]: 7: Hoare triple {10907#(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~nondet25#1; {10907#(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:42:21,987 INFO L290 TraceCheckUtils]: 8: Hoare triple {10907#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {10907#(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:42:21,988 INFO L290 TraceCheckUtils]: 9: Hoare triple {10907#(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); {10907#(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:42:21,988 INFO L290 TraceCheckUtils]: 10: Hoare triple {10907#(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; {10907#(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:42:21,988 INFO L290 TraceCheckUtils]: 11: Hoare triple {10907#(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~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10907#(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:42:21,989 INFO L290 TraceCheckUtils]: 12: Hoare triple {10907#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10907#(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:42:21,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {10907#(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~nondet27#1; {10907#(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:42:21,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {10907#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10907#(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:42:21,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {10907#(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~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10907#(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:42:21,990 INFO L290 TraceCheckUtils]: 16: Hoare triple {10907#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10907#(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:42:21,990 INFO L290 TraceCheckUtils]: 17: Hoare triple {10907#(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~nondet27#1; {10907#(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:42:21,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {10907#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10907#(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:42:21,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {10907#(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~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {10907#(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:42:21,991 INFO L290 TraceCheckUtils]: 20: Hoare triple {10907#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {10907#(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:42:21,992 INFO L290 TraceCheckUtils]: 21: Hoare triple {10907#(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~nondet27#1; {10907#(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:42:21,992 INFO L290 TraceCheckUtils]: 22: Hoare triple {10907#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {10907#(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:42:21,992 INFO L290 TraceCheckUtils]: 23: Hoare triple {10907#(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~1#1 < main_~length2~0#1); {10907#(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:42:21,993 INFO L290 TraceCheckUtils]: 24: Hoare triple {10907#(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(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {10907#(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:42:21,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {10907#(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(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {10971#(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))} is VALID [2022-02-20 23:42:21,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {10971#(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))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {10975#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) 0))} is VALID [2022-02-20 23:42:21,994 INFO L290 TraceCheckUtils]: 27: Hoare triple {10975#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {10975#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) 0))} is VALID [2022-02-20 23:42:21,994 INFO L290 TraceCheckUtils]: 28: Hoare triple {10975#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {10975#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) 0))} is VALID [2022-02-20 23:42:21,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {10975#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {10985#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0))} is VALID [2022-02-20 23:42:21,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {10985#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {10985#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0))} is VALID [2022-02-20 23:42:21,996 INFO L290 TraceCheckUtils]: 31: Hoare triple {10985#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {10985#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0))} is VALID [2022-02-20 23:42:21,996 INFO L290 TraceCheckUtils]: 32: Hoare triple {10985#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {10995#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0) (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|))} is VALID [2022-02-20 23:42:21,997 INFO L290 TraceCheckUtils]: 33: Hoare triple {10995#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) 0) (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {10999#(and (or (= |ULTIMATE.start_cstrlen_#t~mem3#1| 0) (not (= |ULTIMATE.start_cstrlen_~s~0#1.offset| (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))) (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:21,997 INFO L290 TraceCheckUtils]: 34: Hoare triple {10999#(and (or (= |ULTIMATE.start_cstrlen_#t~mem3#1| 0) (not (= |ULTIMATE.start_cstrlen_~s~0#1.offset| (+ (- 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))) (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {11003#(and (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (not (= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))))} is VALID [2022-02-20 23:42:21,998 INFO L290 TraceCheckUtils]: 35: Hoare triple {11003#(and (<= 2 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (not (= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1))))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {11007#(and (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= 3 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (not (= |ULTIMATE.start_cstrlen_~s~0#1.offset| (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))} is VALID [2022-02-20 23:42:21,998 INFO L290 TraceCheckUtils]: 36: Hoare triple {11007#(and (<= |ULTIMATE.start_cstrlen_~s~0#1.offset| (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= 3 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (not (= |ULTIMATE.start_cstrlen_~s~0#1.offset| (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {10878#false} is VALID [2022-02-20 23:42:21,998 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:42:21,998 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:23,038 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 13 treesize of output 11 [2022-02-20 23:42:23,050 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 20 treesize of output 18 [2022-02-20 23:42:23,537 INFO L290 TraceCheckUtils]: 36: Hoare triple {11011#(and (<= 0 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} assume !(1 + cstrlen_~s~0#1.offset <= #length[cstrlen_~s~0#1.base] && 0 <= cstrlen_~s~0#1.offset); {10878#false} is VALID [2022-02-20 23:42:23,537 INFO L290 TraceCheckUtils]: 35: Hoare triple {11015#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {11011#(and (<= 0 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:23,538 INFO L290 TraceCheckUtils]: 34: Hoare triple {11019#(or (= |ULTIMATE.start_cstrlen_#t~mem3#1| 0) (and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {11015#(and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))} is VALID [2022-02-20 23:42:23,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {11023#(or (and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {11019#(or (= |ULTIMATE.start_cstrlen_#t~mem3#1| 0) (and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))} is VALID [2022-02-20 23:42:23,539 INFO L290 TraceCheckUtils]: 32: Hoare triple {11027#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))))} cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~s~0#1.base, 1 + cstrlen_~s~0#1.offset;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset; {11023#(or (and (<= 0 (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))))} is VALID [2022-02-20 23:42:23,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {11027#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))))} assume !!(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {11027#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))))} is VALID [2022-02-20 23:42:23,540 INFO L290 TraceCheckUtils]: 30: Hoare triple {11027#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {11027#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))))} is VALID [2022-02-20 23:42:23,541 INFO L290 TraceCheckUtils]: 29: Hoare triple {11037#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {11027#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)))))} is VALID [2022-02-20 23:42:23,541 INFO L290 TraceCheckUtils]: 28: Hoare triple {11037#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {11037#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))))} is VALID [2022-02-20 23:42:23,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {11037#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {11037#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))))} is VALID [2022-02-20 23:42:23,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {11047#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2))))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {11037#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1))))} is VALID [2022-02-20 23:42:23,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {11047#(forall ((|v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) 0) (not (<= (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (<= 0 (+ |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| 1)) (<= (+ 2 |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (< |v_ULTIMATE.start_cstrlen_~s~0#1.offset_18| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2))))} is VALID [2022-02-20 23:42:23,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} assume !(main_~i~1#1 < main_~length2~0#1); {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,545 INFO L290 TraceCheckUtils]: 22: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} havoc main_#t~nondet27#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} havoc main_#t~nondet27#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,547 INFO L290 TraceCheckUtils]: 16: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,548 INFO L290 TraceCheckUtils]: 15: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,548 INFO L290 TraceCheckUtils]: 14: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} havoc main_#t~nondet27#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,549 INFO L290 TraceCheckUtils]: 11: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,550 INFO L290 TraceCheckUtils]: 10: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} main_~i~1#1 := 0; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,550 INFO L290 TraceCheckUtils]: 9: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (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); {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} havoc main_#t~nondet25#1; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,553 INFO L290 TraceCheckUtils]: 4: Hoare triple {10877#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {11051#(and (or (<= |ULTIMATE.start_main_~length2~0#1| 3) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))) (or (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |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| 3))) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3))))} is VALID [2022-02-20 23:42:23,553 INFO L290 TraceCheckUtils]: 3: Hoare triple {10877#true} assume !(main_~length2~0#1 < 1); {10877#true} is VALID [2022-02-20 23:42:23,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {10877#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {10877#true} is VALID [2022-02-20 23:42:23,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {10877#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {10877#true} is VALID [2022-02-20 23:42:23,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {10877#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10877#true} is VALID [2022-02-20 23:42:23,554 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:42:23,554 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1885262524] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:23,554 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:23,554 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9, 9] total 31 [2022-02-20 23:42:23,554 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [812601434] [2022-02-20 23:42:23,554 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:23,555 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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) Word has length 37 [2022-02-20 23:42:23,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:23,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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:42:23,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:23,605 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-02-20 23:42:23,605 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:23,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-02-20 23:42:23,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=837, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:42:23,606 INFO L87 Difference]: Start difference. First operand 92 states and 103 transitions. Second operand has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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:42:28,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:28,343 INFO L93 Difference]: Finished difference Result 264 states and 298 transitions. [2022-02-20 23:42:28,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-02-20 23:42:28,343 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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) Word has length 37 [2022-02-20 23:42:28,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:28,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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:42:28,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 269 transitions. [2022-02-20 23:42:28,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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:42:28,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 269 transitions. [2022-02-20 23:42:28,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 269 transitions. [2022-02-20 23:42:28,628 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 269 edges. 269 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:28,632 INFO L225 Difference]: With dead ends: 264 [2022-02-20 23:42:28,632 INFO L226 Difference]: Without dead ends: 264 [2022-02-20 23:42:28,633 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 62 SyntacticMatches, 2 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 634 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=541, Invalid=2881, Unknown=0, NotChecked=0, Total=3422 [2022-02-20 23:42:28,634 INFO L933 BasicCegarLoop]: 126 mSDtfsCounter, 1022 mSDsluCounter, 1833 mSDsCounter, 0 mSdLazyCounter, 1276 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1022 SdHoareTripleChecker+Valid, 1959 SdHoareTripleChecker+Invalid, 1520 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 1276 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 173 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:28,634 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1022 Valid, 1959 Invalid, 1520 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 1276 Invalid, 0 Unknown, 173 Unchecked, 1.1s Time] [2022-02-20 23:42:28,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-02-20 23:42:28,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 100. [2022-02-20 23:42:28,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:28,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand has 100 states, 89 states have (on average 1.2584269662921348) internal successors, (112), 99 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:28,637 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand has 100 states, 89 states have (on average 1.2584269662921348) internal successors, (112), 99 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:28,638 INFO L87 Difference]: Start difference. First operand 264 states. Second operand has 100 states, 89 states have (on average 1.2584269662921348) internal successors, (112), 99 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:28,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:28,642 INFO L93 Difference]: Finished difference Result 264 states and 298 transitions. [2022-02-20 23:42:28,642 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 298 transitions. [2022-02-20 23:42:28,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:28,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:28,643 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 89 states have (on average 1.2584269662921348) internal successors, (112), 99 states have internal predecessors, (112), 0 states have call successors, (0), 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 264 states. [2022-02-20 23:42:28,643 INFO L87 Difference]: Start difference. First operand has 100 states, 89 states have (on average 1.2584269662921348) internal successors, (112), 99 states have internal predecessors, (112), 0 states have call successors, (0), 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 264 states. [2022-02-20 23:42:28,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:28,647 INFO L93 Difference]: Finished difference Result 264 states and 298 transitions. [2022-02-20 23:42:28,648 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 298 transitions. [2022-02-20 23:42:28,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:28,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:28,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:28,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:28,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 89 states have (on average 1.2584269662921348) internal successors, (112), 99 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:28,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 112 transitions. [2022-02-20 23:42:28,650 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 112 transitions. Word has length 37 [2022-02-20 23:42:28,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:28,650 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 112 transitions. [2022-02-20 23:42:28,651 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 31 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:42:28,651 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 112 transitions. [2022-02-20 23:42:28,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 23:42:28,651 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:28,651 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:28,677 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:42:28,874 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,SelfDestructingSolverStorable22 [2022-02-20 23:42:28,875 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:28,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:28,875 INFO L85 PathProgramCache]: Analyzing trace with hash 1768471691, now seen corresponding path program 1 times [2022-02-20 23:42:28,875 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:28,875 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1810494473] [2022-02-20 23:42:28,875 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:28,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:28,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:28,995 INFO L290 TraceCheckUtils]: 0: Hoare triple {12080#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12080#true} is VALID [2022-02-20 23:42:28,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {12080#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {12080#true} is VALID [2022-02-20 23:42:28,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {12080#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:28,996 INFO L290 TraceCheckUtils]: 3: Hoare triple {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~length2~0#1 < 1); {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:28,997 INFO L290 TraceCheckUtils]: 4: Hoare triple {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 23:42:28,998 INFO L290 TraceCheckUtils]: 5: Hoare triple {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 23:42:28,998 INFO L290 TraceCheckUtils]: 6: Hoare triple {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 23:42:28,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} havoc main_#t~nondet25#1; {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 23:42:28,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {12083#(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_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~i~0#1|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1); {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,000 INFO L290 TraceCheckUtils]: 10: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,001 INFO L290 TraceCheckUtils]: 12: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,002 INFO L290 TraceCheckUtils]: 14: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1); {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 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: L568-4 {12085#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:29,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {12085#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |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: L573 {12085#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:29,006 INFO L290 TraceCheckUtils]: 22: Hoare triple {12085#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,006 INFO L290 TraceCheckUtils]: 23: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,006 INFO L290 TraceCheckUtils]: 24: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,007 INFO L290 TraceCheckUtils]: 26: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,007 INFO L290 TraceCheckUtils]: 28: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,008 INFO L290 TraceCheckUtils]: 30: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} goto; {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:29,008 INFO L290 TraceCheckUtils]: 31: Hoare triple {12086#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12087#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0)} is VALID [2022-02-20 23:42:29,009 INFO L290 TraceCheckUtils]: 32: Hoare triple {12087#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {12088#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:29,009 INFO L290 TraceCheckUtils]: 33: Hoare triple {12088#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {12089#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:29,009 INFO L290 TraceCheckUtils]: 34: Hoare triple {12089#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {12081#false} is VALID [2022-02-20 23:42:29,010 INFO L290 TraceCheckUtils]: 35: Hoare triple {12081#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {12081#false} is VALID [2022-02-20 23:42:29,010 INFO L290 TraceCheckUtils]: 36: Hoare triple {12081#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12081#false} is VALID [2022-02-20 23:42:29,010 INFO L290 TraceCheckUtils]: 37: Hoare triple {12081#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {12081#false} is VALID [2022-02-20 23:42:29,010 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:29,010 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:29,010 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1810494473] [2022-02-20 23:42:29,011 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1810494473] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:29,011 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [465698641] [2022-02-20 23:42:29,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:29,011 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:29,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:29,032 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:42:29,035 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:42:29,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:29,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 38 conjunts are in the unsatisfiable core [2022-02-20 23:42:29,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:29,119 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:29,148 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:42:29,262 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 11 treesize of output 7 [2022-02-20 23:42:29,285 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 14 treesize of output 16 [2022-02-20 23:42:29,370 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:42:29,378 INFO L290 TraceCheckUtils]: 0: Hoare triple {12080#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12080#true} is VALID [2022-02-20 23:42:29,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {12080#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {12080#true} is VALID [2022-02-20 23:42:29,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {12080#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:29,379 INFO L290 TraceCheckUtils]: 3: Hoare triple {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~length2~0#1 < 1); {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:29,379 INFO L290 TraceCheckUtils]: 4: Hoare triple {12082#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1); {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,382 INFO L290 TraceCheckUtils]: 10: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,384 INFO L290 TraceCheckUtils]: 17: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1); {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:29,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {12084#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 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: L568-4 {12085#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:29,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {12085#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |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: L573 {12156#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:29,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {12156#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,389 INFO L290 TraceCheckUtils]: 27: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,389 INFO L290 TraceCheckUtils]: 28: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,390 INFO L290 TraceCheckUtils]: 29: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,390 INFO L290 TraceCheckUtils]: 30: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} goto; {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:29,390 INFO L290 TraceCheckUtils]: 31: Hoare triple {12160#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12188#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} is VALID [2022-02-20 23:42:29,391 INFO L290 TraceCheckUtils]: 32: Hoare triple {12188#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {12088#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:29,391 INFO L290 TraceCheckUtils]: 33: Hoare triple {12088#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {12089#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:29,391 INFO L290 TraceCheckUtils]: 34: Hoare triple {12089#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {12081#false} is VALID [2022-02-20 23:42:29,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {12081#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {12081#false} is VALID [2022-02-20 23:42:29,392 INFO L290 TraceCheckUtils]: 36: Hoare triple {12081#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12081#false} is VALID [2022-02-20 23:42:29,392 INFO L290 TraceCheckUtils]: 37: Hoare triple {12081#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {12081#false} is VALID [2022-02-20 23:42:29,392 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:42:29,392 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:42:29,392 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [465698641] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:29,392 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:42:29,392 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [10] total 13 [2022-02-20 23:42:29,393 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1763059360] [2022-02-20 23:42:29,393 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:29,393 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 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:42:29,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:29,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:29,414 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:42:29,414 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:29,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:42:29,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:42:29,415 INFO L87 Difference]: Start difference. First operand 100 states and 112 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:29,759 INFO L93 Difference]: Finished difference Result 151 states and 167 transitions. [2022-02-20 23:42:29,759 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:42:29,759 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 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:42:29,759 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:29,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 98 transitions. [2022-02-20 23:42:29,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 98 transitions. [2022-02-20 23:42:29,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 98 transitions. [2022-02-20 23:42:29,825 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:29,826 INFO L225 Difference]: With dead ends: 151 [2022-02-20 23:42:29,826 INFO L226 Difference]: Without dead ends: 93 [2022-02-20 23:42:29,826 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 35 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=77, Invalid=229, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:42:29,826 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 71 mSDsluCounter, 317 mSDsCounter, 0 mSdLazyCounter, 105 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 372 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 105 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:29,826 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 372 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 105 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:29,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-02-20 23:42:29,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 93. [2022-02-20 23:42:29,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:29,828 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 93 states, 82 states have (on average 1.2682926829268293) internal successors, (104), 92 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,828 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 93 states, 82 states have (on average 1.2682926829268293) internal successors, (104), 92 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,828 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 93 states, 82 states have (on average 1.2682926829268293) internal successors, (104), 92 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:29,828 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-02-20 23:42:29,829 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 104 transitions. [2022-02-20 23:42:29,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:29,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:29,829 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 82 states have (on average 1.2682926829268293) internal successors, (104), 92 states have internal predecessors, (104), 0 states have call successors, (0), 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 93 states. [2022-02-20 23:42:29,829 INFO L87 Difference]: Start difference. First operand has 93 states, 82 states have (on average 1.2682926829268293) internal successors, (104), 92 states have internal predecessors, (104), 0 states have call successors, (0), 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 93 states. [2022-02-20 23:42:29,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:29,830 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-02-20 23:42:29,830 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 104 transitions. [2022-02-20 23:42:29,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:29,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:29,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:29,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:29,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 82 states have (on average 1.2682926829268293) internal successors, (104), 92 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 104 transitions. [2022-02-20 23:42:29,831 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 104 transitions. Word has length 38 [2022-02-20 23:42:29,831 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:29,831 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 104 transitions. [2022-02-20 23:42:29,831 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:29,831 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 104 transitions. [2022-02-20 23:42:29,831 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 23:42:29,831 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:29,831 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:29,848 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-02-20 23:42:30,048 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,SelfDestructingSolverStorable23 [2022-02-20 23:42:30,048 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:30,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:30,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1374104905, now seen corresponding path program 1 times [2022-02-20 23:42:30,049 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:30,049 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [255551544] [2022-02-20 23:42:30,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:30,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:30,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:30,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {12646#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12646#true} is VALID [2022-02-20 23:42:30,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {12646#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {12646#true} is VALID [2022-02-20 23:42:30,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {12646#true} assume !(main_~length1~0#1 < 1); {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:42:30,252 INFO L290 TraceCheckUtils]: 3: Hoare triple {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} assume !(main_~length2~0#1 < 1); {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:42:30,252 INFO L290 TraceCheckUtils]: 4: Hoare triple {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:30,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:30,254 INFO L290 TraceCheckUtils]: 6: Hoare triple {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:30,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet25#1; {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:30,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {12649#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~length1~0#1| 1)) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {12650#(and (or (= |ULTIMATE.start_main_~length1~0#1| 1) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {12650#(and (or (= |ULTIMATE.start_main_~length1~0#1| 1) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1); {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,255 INFO L290 TraceCheckUtils]: 10: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,256 INFO L290 TraceCheckUtils]: 11: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,256 INFO L290 TraceCheckUtils]: 12: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,257 INFO L290 TraceCheckUtils]: 14: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,258 INFO L290 TraceCheckUtils]: 16: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,258 INFO L290 TraceCheckUtils]: 17: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,259 INFO L290 TraceCheckUtils]: 18: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,259 INFO L290 TraceCheckUtils]: 19: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1); {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:30,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {12651#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 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: L568-4 {12652#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:30,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {12652#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |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: L573 {12652#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:30,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {12652#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,262 INFO L290 TraceCheckUtils]: 28: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,263 INFO L290 TraceCheckUtils]: 29: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,263 INFO L290 TraceCheckUtils]: 30: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} goto; {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} is VALID [2022-02-20 23:42:30,263 INFO L290 TraceCheckUtils]: 31: Hoare triple {12653#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12654#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0)} is VALID [2022-02-20 23:42:30,264 INFO L290 TraceCheckUtils]: 32: Hoare triple {12654#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {12655#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:30,264 INFO L290 TraceCheckUtils]: 33: Hoare triple {12655#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {12656#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:30,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {12656#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {12647#false} is VALID [2022-02-20 23:42:30,264 INFO L290 TraceCheckUtils]: 35: Hoare triple {12647#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {12647#false} is VALID [2022-02-20 23:42:30,264 INFO L290 TraceCheckUtils]: 36: Hoare triple {12647#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12647#false} is VALID [2022-02-20 23:42:30,264 INFO L290 TraceCheckUtils]: 37: Hoare triple {12647#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {12647#false} is VALID [2022-02-20 23:42:30,265 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:30,265 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:30,265 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [255551544] [2022-02-20 23:42:30,265 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [255551544] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:30,265 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2075510439] [2022-02-20 23:42:30,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:30,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:30,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:30,266 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:42:30,267 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:42:30,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:30,353 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 23:42:30,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:30,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:30,398 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:42:30,584 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 11 treesize of output 7 [2022-02-20 23:42:30,617 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 14 treesize of output 16 [2022-02-20 23:42:31,249 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:31,250 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:31,251 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 15 treesize of output 10 [2022-02-20 23:42:31,275 INFO L290 TraceCheckUtils]: 0: Hoare triple {12646#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12646#true} is VALID [2022-02-20 23:42:31,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {12646#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {12646#true} is VALID [2022-02-20 23:42:31,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {12646#true} assume !(main_~length1~0#1 < 1); {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:42:31,276 INFO L290 TraceCheckUtils]: 3: Hoare triple {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} assume !(main_~length2~0#1 < 1); {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:42:31,277 INFO L290 TraceCheckUtils]: 4: Hoare triple {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,278 INFO L290 TraceCheckUtils]: 6: Hoare triple {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,279 INFO L290 TraceCheckUtils]: 8: Hoare triple {12672#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {12685#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:31,279 INFO L290 TraceCheckUtils]: 9: Hoare triple {12685#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 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); {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,280 INFO L290 TraceCheckUtils]: 10: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,282 INFO L290 TraceCheckUtils]: 16: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,283 INFO L290 TraceCheckUtils]: 17: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1); {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 1) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {12689#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length1~0#1| 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: L568-4 {12723#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:31,285 INFO L290 TraceCheckUtils]: 21: Hoare triple {12723#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |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: L573 {12727#(and (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} is VALID [2022-02-20 23:42:31,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {12727#(and (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,288 INFO L290 TraceCheckUtils]: 24: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,289 INFO L290 TraceCheckUtils]: 25: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,289 INFO L290 TraceCheckUtils]: 26: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,290 INFO L290 TraceCheckUtils]: 27: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,290 INFO L290 TraceCheckUtils]: 28: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,291 INFO L290 TraceCheckUtils]: 29: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,298 INFO L290 TraceCheckUtils]: 30: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} goto; {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} is VALID [2022-02-20 23:42:31,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {12731#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_~s#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12759#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_#t~post17#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0)))} is VALID [2022-02-20 23:42:31,299 INFO L290 TraceCheckUtils]: 32: Hoare triple {12759#(exists ((|ULTIMATE.start_main_~nondetString1~0#1.offset| Int)) (and (<= |ULTIMATE.start_cstrstr_#t~post17#1.offset| |ULTIMATE.start_main_~nondetString1~0#1.offset|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {12655#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:31,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {12655#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {12656#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:31,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {12656#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {12647#false} is VALID [2022-02-20 23:42:31,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {12647#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {12647#false} is VALID [2022-02-20 23:42:31,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {12647#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12647#false} is VALID [2022-02-20 23:42:31,300 INFO L290 TraceCheckUtils]: 37: Hoare triple {12647#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {12647#false} is VALID [2022-02-20 23:42:31,300 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:31,301 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:31,863 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int) (v_ArrVal_496 (Array Int Int))) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (< |c_ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_496) |c_ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0))) is different from false [2022-02-20 23:42:31,956 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:31,956 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 21 treesize of output 22 [2022-02-20 23:42:31,989 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:31,990 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 33 treesize of output 33 [2022-02-20 23:42:32,010 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 9 treesize of output 7 [2022-02-20 23:42:32,576 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:42:32,663 INFO L290 TraceCheckUtils]: 37: Hoare triple {12647#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {12647#false} is VALID [2022-02-20 23:42:32,663 INFO L290 TraceCheckUtils]: 36: Hoare triple {12647#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12647#false} is VALID [2022-02-20 23:42:32,664 INFO L290 TraceCheckUtils]: 35: Hoare triple {12647#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {12647#false} is VALID [2022-02-20 23:42:32,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {12656#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {12647#false} is VALID [2022-02-20 23:42:32,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {12655#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {12656#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:32,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {12793#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {12655#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:32,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {12793#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} is VALID [2022-02-20 23:42:32,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} goto; {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,666 INFO L290 TraceCheckUtils]: 28: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,666 INFO L290 TraceCheckUtils]: 27: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,666 INFO L290 TraceCheckUtils]: 26: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,667 INFO L290 TraceCheckUtils]: 24: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {12825#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {12797#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (not (<= |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| |ULTIMATE.start_cstrstr_~s#1.offset|))))} is VALID [2022-02-20 23:42:32,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {12829#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int) (v_ArrVal_496 (Array Int Int))) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_496) |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {12825#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)))} is VALID [2022-02-20 23:42:32,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |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: L568-4 {12829#(forall ((|v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13| Int) (v_ArrVal_496 (Array Int Int))) (or (not (<= 0 |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_496) |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|) 0) (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrstr_#t~post17#1.offset_13|)))} is VALID [2022-02-20 23:42:32,670 INFO L290 TraceCheckUtils]: 19: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} assume !(main_~i~1#1 < main_~length2~0#1); {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,670 INFO L290 TraceCheckUtils]: 18: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet27#1; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,672 INFO L290 TraceCheckUtils]: 14: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,672 INFO L290 TraceCheckUtils]: 13: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet27#1; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,673 INFO L290 TraceCheckUtils]: 12: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,674 INFO L290 TraceCheckUtils]: 10: Hoare triple {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} main_~i~1#1 := 0; {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {12867#(or (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1); {12833#(and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:32,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {12867#(or (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:32,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} havoc main_#t~nondet25#1; {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:32,676 INFO L290 TraceCheckUtils]: 6: Hoare triple {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:32,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:32,677 INFO L290 TraceCheckUtils]: 4: Hoare triple {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {12871#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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) (<= 1 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:32,677 INFO L290 TraceCheckUtils]: 3: Hoare triple {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} assume !(main_~length2~0#1 < 1); {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:42:32,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {12646#true} assume !(main_~length1~0#1 < 1); {12648#(or (< 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:42:32,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {12646#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {12646#true} is VALID [2022-02-20 23:42:32,678 INFO L290 TraceCheckUtils]: 0: Hoare triple {12646#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12646#true} is VALID [2022-02-20 23:42:32,678 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:32,678 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2075510439] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:32,678 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:32,679 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12, 12] total 25 [2022-02-20 23:42:32,679 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [875588207] [2022-02-20 23:42:32,679 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:32,679 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 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:42:32,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:32,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:32,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:32,757 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-02-20 23:42:32,757 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:32,758 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-02-20 23:42:32,758 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=474, Unknown=1, NotChecked=44, Total=600 [2022-02-20 23:42:32,758 INFO L87 Difference]: Start difference. First operand 93 states and 104 transitions. Second operand has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:33,293 INFO L93 Difference]: Finished difference Result 151 states and 167 transitions. [2022-02-20 23:42:33,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:42:33,293 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 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:42:33,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:33,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 99 transitions. [2022-02-20 23:42:33,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 99 transitions. [2022-02-20 23:42:33,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 99 transitions. [2022-02-20 23:42:33,338 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 98 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:33,339 INFO L225 Difference]: With dead ends: 151 [2022-02-20 23:42:33,339 INFO L226 Difference]: Without dead ends: 100 [2022-02-20 23:42:33,340 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 62 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 213 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=162, Invalid=897, Unknown=1, NotChecked=62, Total=1122 [2022-02-20 23:42:33,340 INFO L933 BasicCegarLoop]: 53 mSDtfsCounter, 55 mSDsluCounter, 637 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 690 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 114 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:33,340 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 690 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 126 Invalid, 0 Unknown, 114 Unchecked, 0.1s Time] [2022-02-20 23:42:33,346 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-02-20 23:42:33,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 97. [2022-02-20 23:42:33,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:33,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 97 states, 86 states have (on average 1.255813953488372) internal successors, (108), 96 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,347 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 97 states, 86 states have (on average 1.255813953488372) internal successors, (108), 96 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,347 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 97 states, 86 states have (on average 1.255813953488372) internal successors, (108), 96 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:33,348 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2022-02-20 23:42:33,348 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2022-02-20 23:42:33,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:33,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:33,348 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 86 states have (on average 1.255813953488372) internal successors, (108), 96 states have internal predecessors, (108), 0 states have call successors, (0), 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 100 states. [2022-02-20 23:42:33,349 INFO L87 Difference]: Start difference. First operand has 97 states, 86 states have (on average 1.255813953488372) internal successors, (108), 96 states have internal predecessors, (108), 0 states have call successors, (0), 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 100 states. [2022-02-20 23:42:33,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:33,349 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2022-02-20 23:42:33,350 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2022-02-20 23:42:33,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:33,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:33,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:33,350 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:33,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 86 states have (on average 1.255813953488372) internal successors, (108), 96 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 108 transitions. [2022-02-20 23:42:33,351 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 108 transitions. Word has length 38 [2022-02-20 23:42:33,355 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:33,355 INFO L470 AbstractCegarLoop]: Abstraction has 97 states and 108 transitions. [2022-02-20 23:42:33,356 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 3.36) internal successors, (84), 25 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:33,356 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 108 transitions. [2022-02-20 23:42:33,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 23:42:33,356 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:33,356 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:33,373 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:42:33,573 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:33,573 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:33,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:33,573 INFO L85 PathProgramCache]: Analyzing trace with hash 514562726, now seen corresponding path program 2 times [2022-02-20 23:42:33,573 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:33,573 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1421172363] [2022-02-20 23:42:33,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:33,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:33,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:33,691 INFO L290 TraceCheckUtils]: 0: Hoare triple {13361#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {13361#true} is VALID [2022-02-20 23:42:33,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {13361#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {13361#true} is VALID [2022-02-20 23:42:33,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {13361#true} assume !(main_~length1~0#1 < 1); {13361#true} is VALID [2022-02-20 23:42:33,692 INFO L290 TraceCheckUtils]: 3: Hoare triple {13361#true} assume !(main_~length2~0#1 < 1); {13361#true} is VALID [2022-02-20 23:42:33,692 INFO L290 TraceCheckUtils]: 4: Hoare triple {13361#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:33,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {13363#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:33,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:33,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:33,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {13363#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {13364#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:33,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {13364#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {13364#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:33,694 INFO L290 TraceCheckUtils]: 10: Hoare triple {13364#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {13365#(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:42:33,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {13365#(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))} havoc main_#t~nondet25#1; {13365#(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:42:33,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {13365#(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))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {13365#(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:42:33,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {13365#(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 !(main_~i~0#1 < main_~length1~0#1); {13365#(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:42:33,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {13365#(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))} main_~i~1#1 := 0; {13365#(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:42:33,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {13365#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {13365#(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:42:33,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {13365#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {13365#(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:42:33,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {13365#(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))} havoc main_#t~nondet27#1; {13365#(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:42:33,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {13365#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {13365#(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:42:33,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {13365#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {13365#(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:42:33,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {13365#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {13365#(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:42:33,699 INFO L290 TraceCheckUtils]: 21: Hoare triple {13365#(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))} havoc main_#t~nondet27#1; {13365#(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:42:33,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {13365#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {13365#(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:42:33,700 INFO L290 TraceCheckUtils]: 23: Hoare triple {13365#(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 !(main_~i~1#1 < main_~length2~0#1); {13365#(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:42:33,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {13365#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {13365#(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:42:33,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {13365#(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: L573 {13365#(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:42:33,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {13365#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,701 INFO L290 TraceCheckUtils]: 28: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,702 INFO L290 TraceCheckUtils]: 29: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,702 INFO L290 TraceCheckUtils]: 30: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,703 INFO L290 TraceCheckUtils]: 32: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,703 INFO L290 TraceCheckUtils]: 34: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:33,704 INFO L290 TraceCheckUtils]: 35: Hoare triple {13366#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {13367#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))))} is VALID [2022-02-20 23:42:33,704 INFO L290 TraceCheckUtils]: 36: Hoare triple {13367#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:33,705 INFO L290 TraceCheckUtils]: 37: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:33,705 INFO L290 TraceCheckUtils]: 38: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:33,705 INFO L290 TraceCheckUtils]: 39: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:33,706 INFO L290 TraceCheckUtils]: 40: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {13369#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} is VALID [2022-02-20 23:42:33,706 INFO L290 TraceCheckUtils]: 41: Hoare triple {13369#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {13362#false} is VALID [2022-02-20 23:42:33,706 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:33,706 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:33,706 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1421172363] [2022-02-20 23:42:33,707 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1421172363] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:33,707 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1390058342] [2022-02-20 23:42:33,707 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:42:33,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:33,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:33,708 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:42:33,709 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:42:33,816 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:42:33,816 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:33,827 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 23:42:33,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:33,838 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:34,024 INFO L290 TraceCheckUtils]: 0: Hoare triple {13361#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {13361#true} is VALID [2022-02-20 23:42:34,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {13361#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {13361#true} is VALID [2022-02-20 23:42:34,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {13361#true} assume !(main_~length1~0#1 < 1); {13361#true} is VALID [2022-02-20 23:42:34,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {13361#true} assume !(main_~length2~0#1 < 1); {13361#true} is VALID [2022-02-20 23:42:34,025 INFO L290 TraceCheckUtils]: 4: Hoare triple {13361#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {13398#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {13398#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,027 INFO L290 TraceCheckUtils]: 10: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet25#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,027 INFO L290 TraceCheckUtils]: 12: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1); {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_~i~1#1 := 0; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet27#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet27#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1); {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {13402#(< 1 |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: L568-4 {13448#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:34,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {13448#(< (+ |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: L573 {13448#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:34,031 INFO L290 TraceCheckUtils]: 26: Hoare triple {13448#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,032 INFO L290 TraceCheckUtils]: 28: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,032 INFO L290 TraceCheckUtils]: 29: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,033 INFO L290 TraceCheckUtils]: 33: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,033 INFO L290 TraceCheckUtils]: 34: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} goto; {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:34,033 INFO L290 TraceCheckUtils]: 35: Hoare triple {13455#(< (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {13483#(and (< (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {13483#(and (< (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,034 INFO L290 TraceCheckUtils]: 38: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,035 INFO L290 TraceCheckUtils]: 39: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,035 INFO L290 TraceCheckUtils]: 40: Hoare triple {13368#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {13369#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} is VALID [2022-02-20 23:42:34,035 INFO L290 TraceCheckUtils]: 41: Hoare triple {13369#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {13362#false} is VALID [2022-02-20 23:42:34,036 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:34,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:34,211 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:42:34,266 INFO L290 TraceCheckUtils]: 41: Hoare triple {13502#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {13362#false} is VALID [2022-02-20 23:42:34,266 INFO L290 TraceCheckUtils]: 40: Hoare triple {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {13502#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} is VALID [2022-02-20 23:42:34,267 INFO L290 TraceCheckUtils]: 39: Hoare triple {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,267 INFO L290 TraceCheckUtils]: 38: Hoare triple {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,267 INFO L290 TraceCheckUtils]: 37: Hoare triple {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,268 INFO L290 TraceCheckUtils]: 36: Hoare triple {13519#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {13506#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:34,268 INFO L290 TraceCheckUtils]: 35: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {13519#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:34,269 INFO L290 TraceCheckUtils]: 34: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,269 INFO L290 TraceCheckUtils]: 33: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,269 INFO L290 TraceCheckUtils]: 32: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,270 INFO L290 TraceCheckUtils]: 31: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,270 INFO L290 TraceCheckUtils]: 30: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,270 INFO L290 TraceCheckUtils]: 29: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,271 INFO L290 TraceCheckUtils]: 28: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,272 INFO L290 TraceCheckUtils]: 26: Hoare triple {13551#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {13523#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:34,272 INFO L290 TraceCheckUtils]: 25: Hoare triple {13551#(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: L573 {13551#(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:42:34,272 INFO L290 TraceCheckUtils]: 24: Hoare triple {13402#(< 1 |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: L568-4 {13551#(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:42:34,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1); {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet27#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,274 INFO L290 TraceCheckUtils]: 17: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet27#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_~i~1#1 := 0; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1); {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,275 INFO L290 TraceCheckUtils]: 12: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet25#1; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,276 INFO L290 TraceCheckUtils]: 10: Hoare triple {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {13398#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {13402#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:34,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {13398#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,277 INFO L290 TraceCheckUtils]: 6: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,278 INFO L290 TraceCheckUtils]: 4: Hoare triple {13361#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {13385#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:34,278 INFO L290 TraceCheckUtils]: 3: Hoare triple {13361#true} assume !(main_~length2~0#1 < 1); {13361#true} is VALID [2022-02-20 23:42:34,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {13361#true} assume !(main_~length1~0#1 < 1); {13361#true} is VALID [2022-02-20 23:42:34,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {13361#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {13361#true} is VALID [2022-02-20 23:42:34,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {13361#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {13361#true} is VALID [2022-02-20 23:42:34,278 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:34,278 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1390058342] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:34,278 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:34,278 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9, 9] total 19 [2022-02-20 23:42:34,278 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1798940621] [2022-02-20 23:42:34,278 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:34,279 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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) Word has length 42 [2022-02-20 23:42:34,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:34,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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:42:34,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:34,318 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:42:34,318 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:34,318 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:42:34,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=322, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:42:34,318 INFO L87 Difference]: Start difference. First operand 97 states and 108 transitions. Second operand has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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:42:35,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:35,012 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-02-20 23:42:35,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:42:35,012 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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) Word has length 42 [2022-02-20 23:42:35,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:35,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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:42:35,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2022-02-20 23:42:35,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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:42:35,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2022-02-20 23:42:35,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2022-02-20 23:42:35,077 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:42:35,078 INFO L225 Difference]: With dead ends: 133 [2022-02-20 23:42:35,078 INFO L226 Difference]: Without dead ends: 133 [2022-02-20 23:42:35,078 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 70 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 80 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=149, Invalid=553, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:42:35,078 INFO L933 BasicCegarLoop]: 47 mSDtfsCounter, 641 mSDsluCounter, 359 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 641 SdHoareTripleChecker+Valid, 406 SdHoareTripleChecker+Invalid, 321 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:35,080 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [641 Valid, 406 Invalid, 321 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:42:35,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-02-20 23:42:35,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 120. [2022-02-20 23:42:35,096 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:35,096 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 120 states, 109 states have (on average 1.3394495412844036) internal successors, (146), 119 states have internal predecessors, (146), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,096 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 120 states, 109 states have (on average 1.3394495412844036) internal successors, (146), 119 states have internal predecessors, (146), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,097 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 120 states, 109 states have (on average 1.3394495412844036) internal successors, (146), 119 states have internal predecessors, (146), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:35,098 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-02-20 23:42:35,098 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 149 transitions. [2022-02-20 23:42:35,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:35,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:35,099 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 109 states have (on average 1.3394495412844036) internal successors, (146), 119 states have internal predecessors, (146), 0 states have call successors, (0), 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 133 states. [2022-02-20 23:42:35,099 INFO L87 Difference]: Start difference. First operand has 120 states, 109 states have (on average 1.3394495412844036) internal successors, (146), 119 states have internal predecessors, (146), 0 states have call successors, (0), 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 133 states. [2022-02-20 23:42:35,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:35,101 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-02-20 23:42:35,101 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 149 transitions. [2022-02-20 23:42:35,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:35,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:35,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:35,115 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:35,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 109 states have (on average 1.3394495412844036) internal successors, (146), 119 states have internal predecessors, (146), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 146 transitions. [2022-02-20 23:42:35,116 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 146 transitions. Word has length 42 [2022-02-20 23:42:35,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:35,117 INFO L470 AbstractCegarLoop]: Abstraction has 120 states and 146 transitions. [2022-02-20 23:42:35,117 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 4.473684210526316) internal successors, (85), 20 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:42:35,117 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 146 transitions. [2022-02-20 23:42:35,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:42:35,117 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:35,117 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:35,136 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:42:35,334 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-02-20 23:42:35,334 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting ULTIMATE.startErr14REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:35,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:35,335 INFO L85 PathProgramCache]: Analyzing trace with hash -1228465231, now seen corresponding path program 1 times [2022-02-20 23:42:35,335 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:35,335 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [225358552] [2022-02-20 23:42:35,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:35,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:35,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:35,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {14162#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14162#true} is VALID [2022-02-20 23:42:35,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {14162#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {14162#true} is VALID [2022-02-20 23:42:35,399 INFO L290 TraceCheckUtils]: 2: Hoare triple {14162#true} assume !(main_~length1~0#1 < 1); {14162#true} is VALID [2022-02-20 23:42:35,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {14162#true} assume !(main_~length2~0#1 < 1); {14162#true} is VALID [2022-02-20 23:42:35,400 INFO L290 TraceCheckUtils]: 4: Hoare triple {14162#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {14162#true} is VALID [2022-02-20 23:42:35,400 INFO L290 TraceCheckUtils]: 5: Hoare triple {14162#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14162#true} is VALID [2022-02-20 23:42:35,400 INFO L290 TraceCheckUtils]: 6: Hoare triple {14162#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet25#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,401 INFO L290 TraceCheckUtils]: 11: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet25#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,402 INFO L290 TraceCheckUtils]: 12: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(main_~i~0#1 < main_~length1~0#1); {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_~i~1#1 := 0; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,403 INFO L290 TraceCheckUtils]: 16: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,403 INFO L290 TraceCheckUtils]: 17: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet27#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,404 INFO L290 TraceCheckUtils]: 19: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet27#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(main_~i~1#1 < main_~length2~0#1); {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,405 INFO L290 TraceCheckUtils]: 24: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {14164#(= (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: L573 {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:35,406 INFO L290 TraceCheckUtils]: 26: Hoare triple {14164#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,407 INFO L290 TraceCheckUtils]: 29: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,408 INFO L290 TraceCheckUtils]: 32: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,411 INFO L290 TraceCheckUtils]: 33: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} goto; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,412 INFO L290 TraceCheckUtils]: 35: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,413 INFO L290 TraceCheckUtils]: 36: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,413 INFO L290 TraceCheckUtils]: 37: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,414 INFO L290 TraceCheckUtils]: 39: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:35,414 INFO L290 TraceCheckUtils]: 40: Hoare triple {14165#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {14166#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:35,415 INFO L290 TraceCheckUtils]: 41: Hoare triple {14166#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} assume !(0 == cstrncmp_~n#1 % 4294967296); {14166#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:35,415 INFO L290 TraceCheckUtils]: 42: Hoare triple {14166#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} assume !(1 == #valid[cstrncmp_~s1#1.base]); {14163#false} is VALID [2022-02-20 23:42:35,415 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:42:35,415 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:35,415 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [225358552] [2022-02-20 23:42:35,415 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [225358552] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:35,416 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:35,416 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:42:35,416 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [727392115] [2022-02-20 23:42:35,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:35,417 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 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 43 [2022-02-20 23:42:35,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:35,417 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,436 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:35,436 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:42:35,437 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:35,437 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:42:35,437 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:42:35,437 INFO L87 Difference]: Start difference. First operand 120 states and 146 transitions. Second operand has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:35,569 INFO L93 Difference]: Finished difference Result 127 states and 152 transitions. [2022-02-20 23:42:35,569 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:42:35,570 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 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 43 [2022-02-20 23:42:35,570 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:35,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 76 transitions. [2022-02-20 23:42:35,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 76 transitions. [2022-02-20 23:42:35,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 76 transitions. [2022-02-20 23:42:35,627 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:42:35,628 INFO L225 Difference]: With dead ends: 127 [2022-02-20 23:42:35,628 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 23:42:35,628 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:42:35,628 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 110 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 110 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:35,628 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [110 Valid, 87 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:35,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 23:42:35,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 118. [2022-02-20 23:42:35,630 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:35,630 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 118 states, 109 states have (on average 1.3027522935779816) internal successors, (142), 117 states have internal predecessors, (142), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,630 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 118 states, 109 states have (on average 1.3027522935779816) internal successors, (142), 117 states have internal predecessors, (142), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,630 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 118 states, 109 states have (on average 1.3027522935779816) internal successors, (142), 117 states have internal predecessors, (142), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:35,632 INFO L93 Difference]: Finished difference Result 127 states and 152 transitions. [2022-02-20 23:42:35,632 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 152 transitions. [2022-02-20 23:42:35,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:35,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:35,633 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 109 states have (on average 1.3027522935779816) internal successors, (142), 117 states have internal predecessors, (142), 0 states have call successors, (0), 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 127 states. [2022-02-20 23:42:35,633 INFO L87 Difference]: Start difference. First operand has 118 states, 109 states have (on average 1.3027522935779816) internal successors, (142), 117 states have internal predecessors, (142), 0 states have call successors, (0), 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 127 states. [2022-02-20 23:42:35,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:35,634 INFO L93 Difference]: Finished difference Result 127 states and 152 transitions. [2022-02-20 23:42:35,634 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 152 transitions. [2022-02-20 23:42:35,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:35,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:35,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:35,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:35,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 109 states have (on average 1.3027522935779816) internal successors, (142), 117 states have internal predecessors, (142), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 142 transitions. [2022-02-20 23:42:35,636 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 142 transitions. Word has length 43 [2022-02-20 23:42:35,636 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:35,636 INFO L470 AbstractCegarLoop]: Abstraction has 118 states and 142 transitions. [2022-02-20 23:42:35,636 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 9.25) internal successors, (37), 5 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:35,636 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 142 transitions. [2022-02-20 23:42:35,636 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:42:35,636 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:35,637 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:35,637 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable26 [2022-02-20 23:42:35,637 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting ULTIMATE.startErr15REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:35,637 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:35,637 INFO L85 PathProgramCache]: Analyzing trace with hash -1228465230, now seen corresponding path program 1 times [2022-02-20 23:42:35,637 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:35,638 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [63117190] [2022-02-20 23:42:35,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:35,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:35,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:35,763 INFO L290 TraceCheckUtils]: 0: Hoare triple {14672#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14672#true} is VALID [2022-02-20 23:42:35,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {14672#true} is VALID [2022-02-20 23:42:35,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume !(main_~length1~0#1 < 1); {14672#true} is VALID [2022-02-20 23:42:35,763 INFO L290 TraceCheckUtils]: 3: Hoare triple {14672#true} assume !(main_~length2~0#1 < 1); {14672#true} is VALID [2022-02-20 23:42:35,764 INFO L290 TraceCheckUtils]: 4: Hoare triple {14672#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:35,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {14674#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:35,765 INFO L290 TraceCheckUtils]: 6: Hoare triple {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:35,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:35,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {14674#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14675#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:35,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {14675#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14675#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:35,767 INFO L290 TraceCheckUtils]: 10: Hoare triple {14675#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14676#(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:42:35,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {14676#(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))} havoc main_#t~nondet25#1; {14676#(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:42:35,768 INFO L290 TraceCheckUtils]: 12: Hoare triple {14676#(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))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14676#(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:42:35,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {14676#(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 !(main_~i~0#1 < main_~length1~0#1); {14676#(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:42:35,768 INFO L290 TraceCheckUtils]: 14: Hoare triple {14676#(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))} main_~i~1#1 := 0; {14676#(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:42:35,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {14676#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14676#(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:42:35,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {14676#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14676#(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:42:35,770 INFO L290 TraceCheckUtils]: 17: Hoare triple {14676#(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))} havoc main_#t~nondet27#1; {14676#(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:42:35,770 INFO L290 TraceCheckUtils]: 18: Hoare triple {14676#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14676#(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:42:35,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {14676#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14676#(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:42:35,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {14676#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14676#(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:42:35,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {14676#(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))} havoc main_#t~nondet27#1; {14676#(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:42:35,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {14676#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14676#(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:42:35,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {14676#(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 !(main_~i~1#1 < main_~length2~0#1); {14676#(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:42:35,773 INFO L290 TraceCheckUtils]: 24: Hoare triple {14676#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {14676#(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:42:35,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {14676#(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: L573 {14676#(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:42:35,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {14676#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,776 INFO L290 TraceCheckUtils]: 28: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,777 INFO L290 TraceCheckUtils]: 31: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,779 INFO L290 TraceCheckUtils]: 34: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:35,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {14677#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {14678#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))))} is VALID [2022-02-20 23:42:35,780 INFO L290 TraceCheckUtils]: 36: Hoare triple {14678#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:35,780 INFO L290 TraceCheckUtils]: 37: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:35,780 INFO L290 TraceCheckUtils]: 38: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:35,781 INFO L290 TraceCheckUtils]: 39: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:35,781 INFO L290 TraceCheckUtils]: 40: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:35,782 INFO L290 TraceCheckUtils]: 41: Hoare triple {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:35,783 INFO L290 TraceCheckUtils]: 42: Hoare triple {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {14673#false} is VALID [2022-02-20 23:42:35,783 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:35,783 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:35,783 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [63117190] [2022-02-20 23:42:35,783 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [63117190] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:35,784 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1194978332] [2022-02-20 23:42:35,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:35,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:35,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:35,804 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:42:35,849 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:42:35,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:35,915 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 28 conjunts are in the unsatisfiable core [2022-02-20 23:42:35,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:35,928 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:36,246 INFO L290 TraceCheckUtils]: 0: Hoare triple {14672#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14672#true} is VALID [2022-02-20 23:42:36,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {14672#true} is VALID [2022-02-20 23:42:36,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume !(main_~length1~0#1 < 1); {14672#true} is VALID [2022-02-20 23:42:36,247 INFO L290 TraceCheckUtils]: 3: Hoare triple {14672#true} assume !(main_~length2~0#1 < 1); {14672#true} is VALID [2022-02-20 23:42:36,247 INFO L290 TraceCheckUtils]: 4: Hoare triple {14672#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,250 INFO L290 TraceCheckUtils]: 10: Hoare triple {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet25#1; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {14716#(<= (+ |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); {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_~i~1#1 := 0; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {14716#(<= (+ |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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet27#1; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {14716#(<= (+ |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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,254 INFO L290 TraceCheckUtils]: 20: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,254 INFO L290 TraceCheckUtils]: 21: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet27#1; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,255 INFO L290 TraceCheckUtils]: 22: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {14716#(<= (+ |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); {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {14716#(<= (+ |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: L568-4 {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {14716#(<= (+ |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: L573 {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:36,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {14716#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,257 INFO L290 TraceCheckUtils]: 27: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,257 INFO L290 TraceCheckUtils]: 28: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,258 INFO L290 TraceCheckUtils]: 29: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,258 INFO L290 TraceCheckUtils]: 30: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,258 INFO L290 TraceCheckUtils]: 31: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,259 INFO L290 TraceCheckUtils]: 32: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,260 INFO L290 TraceCheckUtils]: 34: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} goto; {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:42:36,260 INFO L290 TraceCheckUtils]: 35: Hoare triple {14765#(<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {14793#(and (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:42:36,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {14793#(and (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 2) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,262 INFO L290 TraceCheckUtils]: 38: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,262 INFO L290 TraceCheckUtils]: 39: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,262 INFO L290 TraceCheckUtils]: 40: Hoare triple {14679#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:36,263 INFO L290 TraceCheckUtils]: 41: Hoare triple {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:36,263 INFO L290 TraceCheckUtils]: 42: Hoare triple {14680#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {14673#false} is VALID [2022-02-20 23:42:36,264 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:36,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:36,656 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:42:36,691 INFO L290 TraceCheckUtils]: 42: Hoare triple {14815#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {14673#false} is VALID [2022-02-20 23:42:36,692 INFO L290 TraceCheckUtils]: 41: Hoare triple {14815#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} assume !(0 == cstrncmp_~n#1 % 4294967296); {14815#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} is VALID [2022-02-20 23:42:36,693 INFO L290 TraceCheckUtils]: 40: Hoare triple {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {14815#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} is VALID [2022-02-20 23:42:36,693 INFO L290 TraceCheckUtils]: 39: Hoare triple {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,693 INFO L290 TraceCheckUtils]: 38: Hoare triple {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,694 INFO L290 TraceCheckUtils]: 37: Hoare triple {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {14835#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {14822#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:36,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {14835#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:36,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,696 INFO L290 TraceCheckUtils]: 33: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,698 INFO L290 TraceCheckUtils]: 29: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,699 INFO L290 TraceCheckUtils]: 27: Hoare triple {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {14867#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {14839#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:36,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {14867#(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: L573 {14867#(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:42:36,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {14867#(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: L568-4 {14867#(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:42:36,701 INFO L290 TraceCheckUtils]: 23: Hoare triple {14867#(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); {14867#(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:42:36,701 INFO L290 TraceCheckUtils]: 22: Hoare triple {14867#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14867#(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:42:36,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {14867#(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~nondet27#1; {14867#(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:42:36,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {14867#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14867#(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:42:36,703 INFO L290 TraceCheckUtils]: 19: Hoare triple {14867#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14867#(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:42:36,703 INFO L290 TraceCheckUtils]: 18: Hoare triple {14867#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {14867#(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:42:36,703 INFO L290 TraceCheckUtils]: 17: Hoare triple {14867#(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~nondet27#1; {14867#(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:42:36,704 INFO L290 TraceCheckUtils]: 16: Hoare triple {14867#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {14867#(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:42:36,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {14867#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {14867#(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:42:36,705 INFO L290 TraceCheckUtils]: 14: Hoare triple {14867#(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; {14867#(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:42:36,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {14867#(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); {14867#(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:42:36,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {14867#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14867#(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:42:36,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {14867#(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~nondet25#1; {14867#(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:42:36,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14867#(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:42:36,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {14709#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,708 INFO L290 TraceCheckUtils]: 6: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,709 INFO L290 TraceCheckUtils]: 4: Hoare triple {14672#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {14696#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:36,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {14672#true} assume !(main_~length2~0#1 < 1); {14672#true} is VALID [2022-02-20 23:42:36,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume !(main_~length1~0#1 < 1); {14672#true} is VALID [2022-02-20 23:42:36,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {14672#true} is VALID [2022-02-20 23:42:36,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {14672#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14672#true} is VALID [2022-02-20 23:42:36,709 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:36,710 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1194978332] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:36,710 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:36,710 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 18 [2022-02-20 23:42:36,710 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1497388979] [2022-02-20 23:42:36,710 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:36,710 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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) Word has length 43 [2022-02-20 23:42:36,711 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:36,711 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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:42:36,789 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:42:36,789 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:42:36,789 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:36,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:42:36,790 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=287, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:42:36,790 INFO L87 Difference]: Start difference. First operand 118 states and 142 transitions. Second operand has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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:42:37,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:37,569 INFO L93 Difference]: Finished difference Result 164 states and 183 transitions. [2022-02-20 23:42:37,570 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:42:37,570 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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) Word has length 43 [2022-02-20 23:42:37,570 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:37,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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:42:37,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 151 transitions. [2022-02-20 23:42:37,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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:42:37,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 151 transitions. [2022-02-20 23:42:37,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 151 transitions. [2022-02-20 23:42:37,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:37,652 INFO L225 Difference]: With dead ends: 164 [2022-02-20 23:42:37,652 INFO L226 Difference]: Without dead ends: 164 [2022-02-20 23:42:37,652 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=159, Invalid=543, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:42:37,653 INFO L933 BasicCegarLoop]: 47 mSDtfsCounter, 518 mSDsluCounter, 253 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 518 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:37,653 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [518 Valid, 300 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:42:37,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-02-20 23:42:37,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 118. [2022-02-20 23:42:37,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:37,655 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 118 states, 110 states have (on average 1.2818181818181817) internal successors, (141), 117 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:37,655 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 118 states, 110 states have (on average 1.2818181818181817) internal successors, (141), 117 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:37,655 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 118 states, 110 states have (on average 1.2818181818181817) internal successors, (141), 117 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:37,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:37,657 INFO L93 Difference]: Finished difference Result 164 states and 183 transitions. [2022-02-20 23:42:37,657 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 183 transitions. [2022-02-20 23:42:37,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:37,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:37,657 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 110 states have (on average 1.2818181818181817) internal successors, (141), 117 states have internal predecessors, (141), 0 states have call successors, (0), 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 164 states. [2022-02-20 23:42:37,657 INFO L87 Difference]: Start difference. First operand has 118 states, 110 states have (on average 1.2818181818181817) internal successors, (141), 117 states have internal predecessors, (141), 0 states have call successors, (0), 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 164 states. [2022-02-20 23:42:37,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:37,659 INFO L93 Difference]: Finished difference Result 164 states and 183 transitions. [2022-02-20 23:42:37,659 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 183 transitions. [2022-02-20 23:42:37,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:37,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:37,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:37,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:37,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 110 states have (on average 1.2818181818181817) internal successors, (141), 117 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:37,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 141 transitions. [2022-02-20 23:42:37,661 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 141 transitions. Word has length 43 [2022-02-20 23:42:37,661 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:37,661 INFO L470 AbstractCegarLoop]: Abstraction has 118 states and 141 transitions. [2022-02-20 23:42:37,661 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 5.388888888888889) internal successors, (97), 19 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:42:37,661 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 141 transitions. [2022-02-20 23:42:37,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 23:42:37,661 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:37,662 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:37,707 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:42:37,875 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,SelfDestructingSolverStorable27 [2022-02-20 23:42:37,875 INFO L402 AbstractCegarLoop]: === Iteration 29 === Targeting ULTIMATE.startErr16REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:37,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:37,876 INFO L85 PathProgramCache]: Analyzing trace with hash 560922322, now seen corresponding path program 1 times [2022-02-20 23:42:37,876 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:37,876 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1469938515] [2022-02-20 23:42:37,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:37,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:37,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:37,915 INFO L290 TraceCheckUtils]: 0: Hoare triple {15571#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {15571#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {15571#true} assume !(main_~length1~0#1 < 1); {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {15571#true} assume !(main_~length2~0#1 < 1); {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {15571#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {15571#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 6: Hoare triple {15571#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {15571#true} is VALID [2022-02-20 23:42:37,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {15571#true} havoc main_#t~nondet25#1; {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {15571#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 9: Hoare triple {15571#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 10: Hoare triple {15571#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 11: Hoare triple {15571#true} havoc main_#t~nondet25#1; {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 12: Hoare triple {15571#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {15571#true} assume !(main_~i~0#1 < main_~length1~0#1); {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 14: Hoare triple {15571#true} main_~i~1#1 := 0; {15571#true} is VALID [2022-02-20 23:42:37,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {15571#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 16: Hoare triple {15571#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 17: Hoare triple {15571#true} havoc main_#t~nondet27#1; {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {15571#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {15571#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {15571#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 21: Hoare triple {15571#true} havoc main_#t~nondet27#1; {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 22: Hoare triple {15571#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 23: Hoare triple {15571#true} assume !(main_~i~1#1 < main_~length2~0#1); {15571#true} is VALID [2022-02-20 23:42:37,918 INFO L290 TraceCheckUtils]: 24: Hoare triple {15571#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {15571#true} is VALID [2022-02-20 23:42:37,919 INFO L290 TraceCheckUtils]: 25: Hoare triple {15571#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {15571#true} is VALID [2022-02-20 23:42:37,919 INFO L290 TraceCheckUtils]: 26: Hoare triple {15571#true} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {15571#true} is VALID [2022-02-20 23:42:37,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {15571#true} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {15571#true} is VALID [2022-02-20 23:42:37,919 INFO L290 TraceCheckUtils]: 28: Hoare triple {15571#true} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {15571#true} is VALID [2022-02-20 23:42:37,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {15571#true} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {15573#(= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|)} is VALID [2022-02-20 23:42:37,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {15573#(= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,920 INFO L290 TraceCheckUtils]: 32: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} goto; {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,921 INFO L290 TraceCheckUtils]: 35: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,922 INFO L290 TraceCheckUtils]: 37: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,922 INFO L290 TraceCheckUtils]: 38: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,922 INFO L290 TraceCheckUtils]: 39: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:37,923 INFO L290 TraceCheckUtils]: 40: Hoare triple {15574#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {15575#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:37,923 INFO L290 TraceCheckUtils]: 41: Hoare triple {15575#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} assume !(0 == cstrncmp_~n#1 % 4294967296); {15575#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:37,923 INFO L290 TraceCheckUtils]: 42: Hoare triple {15575#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {15575#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:37,924 INFO L290 TraceCheckUtils]: 43: Hoare triple {15575#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {15576#(= (select |#valid| |ULTIMATE.start_cstrncmp_#t~post5#1.base|) 1)} is VALID [2022-02-20 23:42:37,924 INFO L290 TraceCheckUtils]: 44: Hoare triple {15576#(= (select |#valid| |ULTIMATE.start_cstrncmp_#t~post5#1.base|) 1)} assume !(1 == #valid[cstrncmp_#t~post5#1.base]); {15572#false} is VALID [2022-02-20 23:42:37,924 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 23:42:37,924 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:37,925 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1469938515] [2022-02-20 23:42:37,925 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1469938515] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:37,925 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:37,925 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:42:37,925 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [579101264] [2022-02-20 23:42:37,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:37,926 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 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 45 [2022-02-20 23:42:37,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:37,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:37,944 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:37,945 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:42:37,945 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:37,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:42:37,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:42:37,946 INFO L87 Difference]: Start difference. First operand 118 states and 141 transitions. Second operand has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:38,140 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-02-20 23:42:38,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:42:38,140 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 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 45 [2022-02-20 23:42:38,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:38,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-02-20 23:42:38,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-02-20 23:42:38,141 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-02-20 23:42:38,193 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:38,194 INFO L225 Difference]: With dead ends: 128 [2022-02-20 23:42:38,194 INFO L226 Difference]: Without dead ends: 128 [2022-02-20 23:42:38,195 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:42:38,197 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 98 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:38,197 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 159 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:38,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-02-20 23:42:38,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 117. [2022-02-20 23:42:38,199 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:38,199 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 117 states, 110 states have (on average 1.2636363636363637) internal successors, (139), 116 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,200 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 117 states, 110 states have (on average 1.2636363636363637) internal successors, (139), 116 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,200 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 117 states, 110 states have (on average 1.2636363636363637) internal successors, (139), 116 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:38,201 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-02-20 23:42:38,201 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-02-20 23:42:38,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:38,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:38,201 INFO L74 IsIncluded]: Start isIncluded. First operand has 117 states, 110 states have (on average 1.2636363636363637) internal successors, (139), 116 states have internal predecessors, (139), 0 states have call successors, (0), 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 128 states. [2022-02-20 23:42:38,202 INFO L87 Difference]: Start difference. First operand has 117 states, 110 states have (on average 1.2636363636363637) internal successors, (139), 116 states have internal predecessors, (139), 0 states have call successors, (0), 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 128 states. [2022-02-20 23:42:38,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:38,203 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-02-20 23:42:38,203 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-02-20 23:42:38,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:38,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:38,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:38,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:38,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 117 states, 110 states have (on average 1.2636363636363637) internal successors, (139), 116 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 139 transitions. [2022-02-20 23:42:38,204 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 139 transitions. Word has length 45 [2022-02-20 23:42:38,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:38,204 INFO L470 AbstractCegarLoop]: Abstraction has 117 states and 139 transitions. [2022-02-20 23:42:38,205 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 7.4) internal successors, (37), 6 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:38,205 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2022-02-20 23:42:38,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 23:42:38,205 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:38,205 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:38,205 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable28 [2022-02-20 23:42:38,205 INFO L402 AbstractCegarLoop]: === Iteration 30 === Targeting ULTIMATE.startErr17REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:38,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:38,206 INFO L85 PathProgramCache]: Analyzing trace with hash 560922323, now seen corresponding path program 1 times [2022-02-20 23:42:38,206 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:38,206 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621861760] [2022-02-20 23:42:38,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:38,206 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:38,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:38,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {16086#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16086#true} is VALID [2022-02-20 23:42:38,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {16086#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {16086#true} is VALID [2022-02-20 23:42:38,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {16086#true} assume !(main_~length1~0#1 < 1); {16086#true} is VALID [2022-02-20 23:42:38,365 INFO L290 TraceCheckUtils]: 3: Hoare triple {16086#true} assume !(main_~length2~0#1 < 1); {16086#true} is VALID [2022-02-20 23:42:38,366 INFO L290 TraceCheckUtils]: 4: Hoare triple {16086#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {16088#(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:42:38,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {16088#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16088#(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:42:38,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {16088#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16088#(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:42:38,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {16088#(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~nondet25#1; {16088#(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:42:38,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {16088#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16088#(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:42:38,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {16088#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16088#(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:42:38,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {16088#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16088#(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:42:38,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {16088#(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~nondet25#1; {16088#(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:42:38,369 INFO L290 TraceCheckUtils]: 12: Hoare triple {16088#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16088#(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:42:38,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {16088#(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); {16088#(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:42:38,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {16088#(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; {16089#(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:42:38,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {16089#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16089#(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:42:38,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {16089#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16089#(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:42:38,371 INFO L290 TraceCheckUtils]: 17: Hoare triple {16089#(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~nondet27#1; {16089#(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:42:38,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {16089#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16090#(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:42:38,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {16090#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:38,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:38,373 INFO L290 TraceCheckUtils]: 21: Hoare triple {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:38,373 INFO L290 TraceCheckUtils]: 22: Hoare triple {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:38,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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); {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:38,374 INFO L290 TraceCheckUtils]: 24: Hoare triple {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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: L568-4 {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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:42:38,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {16091#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |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: L573 {16092#(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:42:38,375 INFO L290 TraceCheckUtils]: 26: Hoare triple {16092#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {16093#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))))} is VALID [2022-02-20 23:42:38,376 INFO L290 TraceCheckUtils]: 27: Hoare triple {16093#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,376 INFO L290 TraceCheckUtils]: 28: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,376 INFO L290 TraceCheckUtils]: 29: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {16095#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} is VALID [2022-02-20 23:42:38,377 INFO L290 TraceCheckUtils]: 30: Hoare triple {16095#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {16095#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} is VALID [2022-02-20 23:42:38,377 INFO L290 TraceCheckUtils]: 31: Hoare triple {16095#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {16095#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} is VALID [2022-02-20 23:42:38,378 INFO L290 TraceCheckUtils]: 32: Hoare triple {16095#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,378 INFO L290 TraceCheckUtils]: 33: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} goto; {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,379 INFO L290 TraceCheckUtils]: 35: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,380 INFO L290 TraceCheckUtils]: 37: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:38,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {16094#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {16096#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,381 INFO L290 TraceCheckUtils]: 41: Hoare triple {16096#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {16096#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {16096#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {16096#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {16096#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {16097#(and (<= 1 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)))} is VALID [2022-02-20 23:42:38,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {16097#(and (<= 1 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)))} assume !(1 + cstrncmp_#t~post5#1.offset <= #length[cstrncmp_#t~post5#1.base] && 0 <= cstrncmp_#t~post5#1.offset); {16087#false} is VALID [2022-02-20 23:42:38,383 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:38,383 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:38,383 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [621861760] [2022-02-20 23:42:38,383 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [621861760] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:38,383 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [931195776] [2022-02-20 23:42:38,383 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:38,383 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:38,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:38,389 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:42:38,390 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:42:38,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:38,478 INFO L263 TraceCheckSpWp]: Trace formula consists of 235 conjuncts, 33 conjunts are in the unsatisfiable core [2022-02-20 23:42:38,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:38,487 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:38,544 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:38,545 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:42:38,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {16086#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16086#true} is VALID [2022-02-20 23:42:38,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {16086#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {16086#true} is VALID [2022-02-20 23:42:38,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {16086#true} assume !(main_~length1~0#1 < 1); {16086#true} is VALID [2022-02-20 23:42:38,898 INFO L290 TraceCheckUtils]: 3: Hoare triple {16086#true} assume !(main_~length2~0#1 < 1); {16086#true} is VALID [2022-02-20 23:42:38,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {16086#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {16113#(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:42:38,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {16113#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16113#(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:42:38,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {16113#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16113#(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:42:38,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {16113#(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~nondet25#1; {16113#(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:42:38,900 INFO L290 TraceCheckUtils]: 8: Hoare triple {16113#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16113#(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:42:38,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {16113#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16113#(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:42:38,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {16113#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16113#(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:42:38,902 INFO L290 TraceCheckUtils]: 11: Hoare triple {16113#(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~nondet25#1; {16113#(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:42:38,902 INFO L290 TraceCheckUtils]: 12: Hoare triple {16113#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16113#(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:42:38,902 INFO L290 TraceCheckUtils]: 13: Hoare triple {16113#(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); {16113#(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:42:38,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {16113#(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; {16144#(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:42:38,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {16144#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16144#(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:42:38,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {16144#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16144#(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:42:38,904 INFO L290 TraceCheckUtils]: 17: Hoare triple {16144#(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~nondet27#1; {16144#(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:42:38,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {16144#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16157#(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:42:38,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {16157#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {16161#(and (< 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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,906 INFO L290 TraceCheckUtils]: 21: Hoare triple {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} havoc main_#t~nondet27#1; {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,906 INFO L290 TraceCheckUtils]: 22: Hoare triple {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {16161#(and (< 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); {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,907 INFO L290 TraceCheckUtils]: 24: Hoare triple {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~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: L568-4 {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,908 INFO L290 TraceCheckUtils]: 25: Hoare triple {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~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: L573 {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,908 INFO L290 TraceCheckUtils]: 26: Hoare triple {16161#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {16183#(and (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} is VALID [2022-02-20 23:42:38,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {16183#(and (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,909 INFO L290 TraceCheckUtils]: 28: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,910 INFO L290 TraceCheckUtils]: 29: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,911 INFO L290 TraceCheckUtils]: 32: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,911 INFO L290 TraceCheckUtils]: 33: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,912 INFO L290 TraceCheckUtils]: 34: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} goto; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,912 INFO L290 TraceCheckUtils]: 35: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,913 INFO L290 TraceCheckUtils]: 37: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,913 INFO L290 TraceCheckUtils]: 38: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:38,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {16187#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {16227#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:42:38,915 INFO L290 TraceCheckUtils]: 41: Hoare triple {16227#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} assume !(0 == cstrncmp_~n#1 % 4294967296); {16227#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:42:38,915 INFO L290 TraceCheckUtils]: 42: Hoare triple {16227#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {16227#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:42:38,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {16227#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {16237#(and (<= |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|))} is VALID [2022-02-20 23:42:38,916 INFO L290 TraceCheckUtils]: 44: Hoare triple {16237#(and (<= |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|))} assume !(1 + cstrncmp_#t~post5#1.offset <= #length[cstrncmp_#t~post5#1.base] && 0 <= cstrncmp_#t~post5#1.offset); {16087#false} is VALID [2022-02-20 23:42:38,916 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:38,917 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:39,477 INFO L290 TraceCheckUtils]: 44: Hoare triple {16241#(and (<= 0 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)))} assume !(1 + cstrncmp_#t~post5#1.offset <= #length[cstrncmp_#t~post5#1.base] && 0 <= cstrncmp_#t~post5#1.offset); {16087#false} is VALID [2022-02-20 23:42:39,477 INFO L290 TraceCheckUtils]: 43: Hoare triple {16245#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {16241#(and (<= 0 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)))} is VALID [2022-02-20 23:42:39,478 INFO L290 TraceCheckUtils]: 42: Hoare triple {16245#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {16245#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:39,478 INFO L290 TraceCheckUtils]: 41: Hoare triple {16245#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} assume !(0 == cstrncmp_~n#1 % 4294967296); {16245#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:39,479 INFO L290 TraceCheckUtils]: 40: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {16245#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:39,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,480 INFO L290 TraceCheckUtils]: 38: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,480 INFO L290 TraceCheckUtils]: 37: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} goto; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,482 INFO L290 TraceCheckUtils]: 33: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,482 INFO L290 TraceCheckUtils]: 32: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,484 INFO L290 TraceCheckUtils]: 28: Hoare triple {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {16295#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {16255#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:39,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {16299#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {16295#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|)))} is VALID [2022-02-20 23:42:39,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {16299#(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|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {16299#(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:42:39,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {16299#(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|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {16299#(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:42:39,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {16299#(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 !(main_~i~1#1 < main_~length2~0#1); {16299#(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:42:39,487 INFO L290 TraceCheckUtils]: 22: Hoare triple {16299#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16299#(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:42:39,487 INFO L290 TraceCheckUtils]: 21: Hoare triple {16299#(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|)))} havoc main_#t~nondet27#1; {16299#(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:42:39,488 INFO L290 TraceCheckUtils]: 20: Hoare triple {16299#(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|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16299#(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:42:39,488 INFO L290 TraceCheckUtils]: 19: Hoare triple {16321#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16299#(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:42:39,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16321#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} havoc main_#t~nondet27#1; {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:39,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:39,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:39,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {16325#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:39,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1); {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,491 INFO L290 TraceCheckUtils]: 12: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet25#1; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,492 INFO L290 TraceCheckUtils]: 10: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet25#1; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,496 INFO L290 TraceCheckUtils]: 4: Hoare triple {16086#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {16338#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:39,496 INFO L290 TraceCheckUtils]: 3: Hoare triple {16086#true} assume !(main_~length2~0#1 < 1); {16086#true} is VALID [2022-02-20 23:42:39,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {16086#true} assume !(main_~length1~0#1 < 1); {16086#true} is VALID [2022-02-20 23:42:39,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {16086#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {16086#true} is VALID [2022-02-20 23:42:39,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {16086#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16086#true} is VALID [2022-02-20 23:42:39,496 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:39,496 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [931195776] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:39,497 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:42:39,497 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [11, 9] total 27 [2022-02-20 23:42:39,497 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1598420323] [2022-02-20 23:42:39,497 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:39,497 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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) Word has length 45 [2022-02-20 23:42:39,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:39,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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:42:39,528 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:42:39,528 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:42:39,528 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:39,529 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:42:39,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=116, Invalid=640, Unknown=0, NotChecked=0, Total=756 [2022-02-20 23:42:39,529 INFO L87 Difference]: Start difference. First operand 117 states and 139 transitions. Second operand has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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:42:40,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,000 INFO L93 Difference]: Finished difference Result 138 states and 161 transitions. [2022-02-20 23:42:40,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:42:40,000 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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) Word has length 45 [2022-02-20 23:42:40,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:40,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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:42:40,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 84 transitions. [2022-02-20 23:42:40,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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:42:40,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 84 transitions. [2022-02-20 23:42:40,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 84 transitions. [2022-02-20 23:42:40,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:40,087 INFO L225 Difference]: With dead ends: 138 [2022-02-20 23:42:40,087 INFO L226 Difference]: Without dead ends: 138 [2022-02-20 23:42:40,087 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 305 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=186, Invalid=936, Unknown=0, NotChecked=0, Total=1122 [2022-02-20 23:42:40,087 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 314 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 314 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:40,087 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [314 Valid, 157 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:40,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-02-20 23:42:40,089 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 122. [2022-02-20 23:42:40,089 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:40,089 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 122 states, 115 states have (on average 1.2608695652173914) internal successors, (145), 121 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,089 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 122 states, 115 states have (on average 1.2608695652173914) internal successors, (145), 121 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,089 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 122 states, 115 states have (on average 1.2608695652173914) internal successors, (145), 121 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,090 INFO L93 Difference]: Finished difference Result 138 states and 161 transitions. [2022-02-20 23:42:40,091 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 161 transitions. [2022-02-20 23:42:40,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:40,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:40,091 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 115 states have (on average 1.2608695652173914) internal successors, (145), 121 states have internal predecessors, (145), 0 states have call successors, (0), 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 138 states. [2022-02-20 23:42:40,091 INFO L87 Difference]: Start difference. First operand has 122 states, 115 states have (on average 1.2608695652173914) internal successors, (145), 121 states have internal predecessors, (145), 0 states have call successors, (0), 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 138 states. [2022-02-20 23:42:40,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,093 INFO L93 Difference]: Finished difference Result 138 states and 161 transitions. [2022-02-20 23:42:40,093 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 161 transitions. [2022-02-20 23:42:40,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:40,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:40,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:40,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:40,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 115 states have (on average 1.2608695652173914) internal successors, (145), 121 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 145 transitions. [2022-02-20 23:42:40,094 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 145 transitions. Word has length 45 [2022-02-20 23:42:40,094 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:40,094 INFO L470 AbstractCegarLoop]: Abstraction has 122 states and 145 transitions. [2022-02-20 23:42:40,095 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 4.555555555555555) internal successors, (41), 10 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:42:40,095 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 145 transitions. [2022-02-20 23:42:40,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 23:42:40,095 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:40,095 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:40,114 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:42:40,310 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:40,310 INFO L402 AbstractCegarLoop]: === Iteration 31 === Targeting ULTIMATE.startErr22REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:40,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:40,310 INFO L85 PathProgramCache]: Analyzing trace with hash -2119524429, now seen corresponding path program 1 times [2022-02-20 23:42:40,310 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:40,310 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265618837] [2022-02-20 23:42:40,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:40,311 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:40,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:40,357 INFO L290 TraceCheckUtils]: 0: Hoare triple {16928#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16928#true} is VALID [2022-02-20 23:42:40,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {16928#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {16928#true} is VALID [2022-02-20 23:42:40,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {16928#true} assume !(main_~length1~0#1 < 1); {16928#true} is VALID [2022-02-20 23:42:40,357 INFO L290 TraceCheckUtils]: 3: Hoare triple {16928#true} assume !(main_~length2~0#1 < 1); {16928#true} is VALID [2022-02-20 23:42:40,357 INFO L290 TraceCheckUtils]: 4: Hoare triple {16928#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {16928#true} is VALID [2022-02-20 23:42:40,357 INFO L290 TraceCheckUtils]: 5: Hoare triple {16928#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16928#true} is VALID [2022-02-20 23:42:40,358 INFO L290 TraceCheckUtils]: 6: Hoare triple {16928#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,358 INFO L290 TraceCheckUtils]: 7: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet25#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,358 INFO L290 TraceCheckUtils]: 8: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,359 INFO L290 TraceCheckUtils]: 10: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet25#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,359 INFO L290 TraceCheckUtils]: 12: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,360 INFO L290 TraceCheckUtils]: 13: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(main_~i~0#1 < main_~length1~0#1); {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_~i~1#1 := 0; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,360 INFO L290 TraceCheckUtils]: 15: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,361 INFO L290 TraceCheckUtils]: 16: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,361 INFO L290 TraceCheckUtils]: 17: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet27#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,361 INFO L290 TraceCheckUtils]: 18: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,361 INFO L290 TraceCheckUtils]: 19: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,362 INFO L290 TraceCheckUtils]: 20: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,362 INFO L290 TraceCheckUtils]: 21: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} havoc main_#t~nondet27#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,362 INFO L290 TraceCheckUtils]: 22: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,363 INFO L290 TraceCheckUtils]: 23: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(main_~i~1#1 < main_~length2~0#1); {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,363 INFO L290 TraceCheckUtils]: 24: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,363 INFO L290 TraceCheckUtils]: 25: Hoare triple {16930#(= (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: L573 {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:42:40,364 INFO L290 TraceCheckUtils]: 26: Hoare triple {16930#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,364 INFO L290 TraceCheckUtils]: 27: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,364 INFO L290 TraceCheckUtils]: 28: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,366 INFO L290 TraceCheckUtils]: 32: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,366 INFO L290 TraceCheckUtils]: 33: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,366 INFO L290 TraceCheckUtils]: 34: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} goto; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,367 INFO L290 TraceCheckUtils]: 35: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,367 INFO L290 TraceCheckUtils]: 36: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,368 INFO L290 TraceCheckUtils]: 37: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,368 INFO L290 TraceCheckUtils]: 38: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,368 INFO L290 TraceCheckUtils]: 39: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} is VALID [2022-02-20 23:42:40,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {16931#(= (select |#valid| |ULTIMATE.start_cstrstr_~s#1.base|) 1)} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:40,369 INFO L290 TraceCheckUtils]: 41: Hoare triple {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} assume !(0 == cstrncmp_~n#1 % 4294967296); {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:40,369 INFO L290 TraceCheckUtils]: 42: Hoare triple {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:40,369 INFO L290 TraceCheckUtils]: 43: Hoare triple {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:40,370 INFO L290 TraceCheckUtils]: 44: Hoare triple {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} is VALID [2022-02-20 23:42:40,370 INFO L290 TraceCheckUtils]: 45: Hoare triple {16932#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s1#1.base|) 1)} assume !(cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1);havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1;cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset := cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#t~post11#1.base, 1 + cstrncmp_#t~post11#1.offset; {16933#(= (select |#valid| |ULTIMATE.start_cstrncmp_#t~post11#1.base|) 1)} is VALID [2022-02-20 23:42:40,370 INFO L290 TraceCheckUtils]: 46: Hoare triple {16933#(= (select |#valid| |ULTIMATE.start_cstrncmp_#t~post11#1.base|) 1)} assume !(1 == #valid[cstrncmp_#t~post11#1.base]); {16929#false} is VALID [2022-02-20 23:42:40,371 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:42:40,371 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:40,371 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265618837] [2022-02-20 23:42:40,371 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265618837] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:40,371 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:40,371 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:42:40,371 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1138707512] [2022-02-20 23:42:40,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:40,372 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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) Word has length 47 [2022-02-20 23:42:40,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:40,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:40,398 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:42:40,398 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:42:40,398 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:40,398 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:42:40,398 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:42:40,399 INFO L87 Difference]: Start difference. First operand 122 states and 145 transitions. Second operand has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:40,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,567 INFO L93 Difference]: Finished difference Result 130 states and 153 transitions. [2022-02-20 23:42:40,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:42:40,568 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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) Word has length 47 [2022-02-20 23:42:40,568 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:40,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:40,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2022-02-20 23:42:40,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:40,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2022-02-20 23:42:40,569 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2022-02-20 23:42:40,619 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:40,620 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:42:40,620 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:42:40,620 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:42:40,620 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 100 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 100 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:40,621 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [100 Valid, 130 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:40,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:42:40,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 121. [2022-02-20 23:42:40,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:40,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 121 states, 115 states have (on average 1.2434782608695651) internal successors, (143), 120 states have internal predecessors, (143), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,622 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 121 states, 115 states have (on average 1.2434782608695651) internal successors, (143), 120 states have internal predecessors, (143), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,622 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 121 states, 115 states have (on average 1.2434782608695651) internal successors, (143), 120 states have internal predecessors, (143), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,623 INFO L93 Difference]: Finished difference Result 130 states and 153 transitions. [2022-02-20 23:42:40,623 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 153 transitions. [2022-02-20 23:42:40,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:40,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:40,624 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 115 states have (on average 1.2434782608695651) internal successors, (143), 120 states have internal predecessors, (143), 0 states have call successors, (0), 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 130 states. [2022-02-20 23:42:40,624 INFO L87 Difference]: Start difference. First operand has 121 states, 115 states have (on average 1.2434782608695651) internal successors, (143), 120 states have internal predecessors, (143), 0 states have call successors, (0), 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 130 states. [2022-02-20 23:42:40,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,625 INFO L93 Difference]: Finished difference Result 130 states and 153 transitions. [2022-02-20 23:42:40,625 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 153 transitions. [2022-02-20 23:42:40,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:40,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:40,626 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:40,626 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:40,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 115 states have (on average 1.2434782608695651) internal successors, (143), 120 states have internal predecessors, (143), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:40,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 143 transitions. [2022-02-20 23:42:40,627 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 143 transitions. Word has length 47 [2022-02-20 23:42:40,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:40,627 INFO L470 AbstractCegarLoop]: Abstraction has 121 states and 143 transitions. [2022-02-20 23:42:40,627 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:40,628 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 143 transitions. [2022-02-20 23:42:40,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 23:42:40,628 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:40,628 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:40,628 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30 [2022-02-20 23:42:40,628 INFO L402 AbstractCegarLoop]: === Iteration 32 === Targeting ULTIMATE.startErr23REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:40,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:40,629 INFO L85 PathProgramCache]: Analyzing trace with hash -2119524428, now seen corresponding path program 1 times [2022-02-20 23:42:40,629 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:40,629 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [553942628] [2022-02-20 23:42:40,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:40,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:40,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:40,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {17453#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17453#true} is VALID [2022-02-20 23:42:40,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {17453#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {17453#true} is VALID [2022-02-20 23:42:40,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {17453#true} assume !(main_~length1~0#1 < 1); {17453#true} is VALID [2022-02-20 23:42:40,760 INFO L290 TraceCheckUtils]: 3: Hoare triple {17453#true} assume !(main_~length2~0#1 < 1); {17453#true} is VALID [2022-02-20 23:42:40,760 INFO L290 TraceCheckUtils]: 4: Hoare triple {17453#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:40,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {17455#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:40,761 INFO L290 TraceCheckUtils]: 6: Hoare triple {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:40,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:40,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {17455#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {17456#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:40,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {17456#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {17456#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:40,763 INFO L290 TraceCheckUtils]: 10: Hoare triple {17456#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {17457#(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:42:40,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {17457#(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))} havoc main_#t~nondet25#1; {17457#(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:42:40,764 INFO L290 TraceCheckUtils]: 12: Hoare triple {17457#(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))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {17457#(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:42:40,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {17457#(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 !(main_~i~0#1 < main_~length1~0#1); {17457#(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:42:40,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {17457#(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))} main_~i~1#1 := 0; {17457#(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:42:40,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {17457#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {17457#(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:42:40,766 INFO L290 TraceCheckUtils]: 16: Hoare triple {17457#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {17457#(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:42:40,766 INFO L290 TraceCheckUtils]: 17: Hoare triple {17457#(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))} havoc main_#t~nondet27#1; {17457#(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:42:40,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {17457#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {17457#(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:42:40,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {17457#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {17457#(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:42:40,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {17457#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {17457#(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:42:40,768 INFO L290 TraceCheckUtils]: 21: Hoare triple {17457#(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))} havoc main_#t~nondet27#1; {17457#(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:42:40,768 INFO L290 TraceCheckUtils]: 22: Hoare triple {17457#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {17457#(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:42:40,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {17457#(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 !(main_~i~1#1 < main_~length2~0#1); {17457#(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:42:40,769 INFO L290 TraceCheckUtils]: 24: Hoare triple {17457#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {17457#(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:42:40,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {17457#(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: L573 {17457#(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:42:40,770 INFO L290 TraceCheckUtils]: 26: Hoare triple {17457#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,771 INFO L290 TraceCheckUtils]: 28: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,771 INFO L290 TraceCheckUtils]: 29: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,773 INFO L290 TraceCheckUtils]: 32: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,773 INFO L290 TraceCheckUtils]: 33: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,774 INFO L290 TraceCheckUtils]: 34: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:40,774 INFO L290 TraceCheckUtils]: 35: Hoare triple {17458#(and (<= 2 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {17459#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))))} is VALID [2022-02-20 23:42:40,775 INFO L290 TraceCheckUtils]: 36: Hoare triple {17459#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:40,775 INFO L290 TraceCheckUtils]: 37: Hoare triple {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:40,775 INFO L290 TraceCheckUtils]: 38: Hoare triple {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:40,776 INFO L290 TraceCheckUtils]: 39: Hoare triple {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:40,776 INFO L290 TraceCheckUtils]: 40: Hoare triple {17460#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:40,777 INFO L290 TraceCheckUtils]: 41: Hoare triple {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:40,777 INFO L290 TraceCheckUtils]: 42: Hoare triple {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:40,778 INFO L290 TraceCheckUtils]: 43: Hoare triple {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:40,778 INFO L290 TraceCheckUtils]: 44: Hoare triple {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:40,778 INFO L290 TraceCheckUtils]: 45: Hoare triple {17461#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1);havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1;cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset := cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#t~post11#1.base, 1 + cstrncmp_#t~post11#1.offset; {17462#(and (<= (+ |ULTIMATE.start_cstrncmp_#t~post11#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post11#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~post11#1.offset|))} is VALID [2022-02-20 23:42:40,779 INFO L290 TraceCheckUtils]: 46: Hoare triple {17462#(and (<= (+ |ULTIMATE.start_cstrncmp_#t~post11#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post11#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~post11#1.offset|))} assume !(1 + cstrncmp_#t~post11#1.offset <= #length[cstrncmp_#t~post11#1.base] && 0 <= cstrncmp_#t~post11#1.offset); {17454#false} is VALID [2022-02-20 23:42:40,779 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:40,779 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:40,780 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [553942628] [2022-02-20 23:42:40,780 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [553942628] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:40,780 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [768206792] [2022-02-20 23:42:40,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:40,780 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:40,780 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:40,781 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:42:40,782 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:42:40,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:40,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 68 conjunts are in the unsatisfiable core [2022-02-20 23:42:40,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:40,895 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:40,961 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:40,961 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:42:41,879 INFO L290 TraceCheckUtils]: 0: Hoare triple {17453#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17453#true} is VALID [2022-02-20 23:42:41,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {17453#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {17453#true} is VALID [2022-02-20 23:42:41,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {17453#true} assume !(main_~length1~0#1 < 1); {17453#true} is VALID [2022-02-20 23:42:41,879 INFO L290 TraceCheckUtils]: 3: Hoare triple {17453#true} assume !(main_~length2~0#1 < 1); {17453#true} is VALID [2022-02-20 23:42:41,880 INFO L290 TraceCheckUtils]: 4: Hoare triple {17453#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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:42:41,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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:42:41,881 INFO L290 TraceCheckUtils]: 6: Hoare triple {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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:42:41,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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~nondet25#1; {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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:42:41,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {17478#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {17491#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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:42:41,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {17491#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (or (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,883 INFO L290 TraceCheckUtils]: 10: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,884 INFO L290 TraceCheckUtils]: 12: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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); {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,888 INFO L290 TraceCheckUtils]: 19: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,889 INFO L290 TraceCheckUtils]: 21: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,889 INFO L290 TraceCheckUtils]: 22: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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); {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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: L568-4 {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 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: L573 {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {17495#(and (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (< 1 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {17547#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:41,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {17547#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,893 INFO L290 TraceCheckUtils]: 28: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,893 INFO L290 TraceCheckUtils]: 29: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:41,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {17551#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {17576#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0))} is VALID [2022-02-20 23:42:41,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {17576#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:41,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:41,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:41,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:41,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {17580#(and (or (< 1 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {17593#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_~s2#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:41,899 INFO L290 TraceCheckUtils]: 41: Hoare triple {17593#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_~s2#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {17593#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_~s2#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:41,900 INFO L290 TraceCheckUtils]: 42: Hoare triple {17593#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_~s2#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {17593#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_~s2#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:41,900 INFO L290 TraceCheckUtils]: 43: Hoare triple {17593#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_~s2#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {17603#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_#t~post5#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:42:41,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {17603#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) (or (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (= |ULTIMATE.start_cstrncmp_#t~post5#1.base| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {17607#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (exists ((|ULTIMATE.start_cstrncmp_#t~post5#1.base| Int)) (and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 2 (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)))) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1))} is VALID [2022-02-20 23:42:41,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {17607#(and (<= 1 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (exists ((|ULTIMATE.start_cstrncmp_#t~post5#1.base| Int)) (and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 2 (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|)))) (<= |ULTIMATE.start_cstrncmp_~s1#1.offset| 1))} assume !(cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1);havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1;cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset := cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#t~post11#1.base, 1 + cstrncmp_#t~post11#1.offset; {17611#(and (<= |ULTIMATE.start_cstrncmp_#t~post11#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_#t~post11#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~post11#1.offset|))} is VALID [2022-02-20 23:42:41,902 INFO L290 TraceCheckUtils]: 46: Hoare triple {17611#(and (<= |ULTIMATE.start_cstrncmp_#t~post11#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_#t~post11#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~post11#1.offset|))} assume !(1 + cstrncmp_#t~post11#1.offset <= #length[cstrncmp_#t~post11#1.base] && 0 <= cstrncmp_#t~post11#1.offset); {17454#false} is VALID [2022-02-20 23:42:41,902 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:41,902 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:42,964 INFO L290 TraceCheckUtils]: 46: Hoare triple {17615#(and (<= (+ |ULTIMATE.start_cstrncmp_#t~post11#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post11#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_#t~post11#1.offset|))} assume !(1 + cstrncmp_#t~post11#1.offset <= #length[cstrncmp_#t~post11#1.base] && 0 <= cstrncmp_#t~post11#1.offset); {17454#false} is VALID [2022-02-20 23:42:42,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {17619#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} assume !(cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1);havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1;cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset := cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#t~post11#1.base, 1 + cstrncmp_#t~post11#1.offset; {17615#(and (<= (+ |ULTIMATE.start_cstrncmp_#t~post11#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post11#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_#t~post11#1.offset|))} is VALID [2022-02-20 23:42:42,965 INFO L290 TraceCheckUtils]: 44: Hoare triple {17623#(or (not (<= (+ |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|))) (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {17619#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} is VALID [2022-02-20 23:42:42,970 INFO L290 TraceCheckUtils]: 43: Hoare triple {17627#(or (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (< (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|) (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1)))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {17623#(or (not (<= (+ |ULTIMATE.start_cstrncmp_#t~post5#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~post5#1.base|))) (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)))} is VALID [2022-02-20 23:42:42,971 INFO L290 TraceCheckUtils]: 42: Hoare triple {17627#(or (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (< (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|) (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1)))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {17627#(or (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (< (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|) (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1)))} is VALID [2022-02-20 23:42:42,972 INFO L290 TraceCheckUtils]: 41: Hoare triple {17627#(or (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (< (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|) (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {17627#(or (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (< (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|) (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1)))} is VALID [2022-02-20 23:42:42,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {17627#(or (and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (< (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|) (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1)))} is VALID [2022-02-20 23:42:42,973 INFO L290 TraceCheckUtils]: 39: Hoare triple {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:42,973 INFO L290 TraceCheckUtils]: 38: Hoare triple {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:42,974 INFO L290 TraceCheckUtils]: 37: Hoare triple {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:42,974 INFO L290 TraceCheckUtils]: 36: Hoare triple {17650#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {17637#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:42,975 INFO L290 TraceCheckUtils]: 35: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {17650#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)))} is VALID [2022-02-20 23:42:42,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} goto; {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,976 INFO L290 TraceCheckUtils]: 33: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,978 INFO L290 TraceCheckUtils]: 29: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,978 INFO L290 TraceCheckUtils]: 28: Hoare triple {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {17679#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {17654#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)))} is VALID [2022-02-20 23:42:42,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {17679#(or (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)))} is VALID [2022-02-20 23:42:42,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,990 INFO L290 TraceCheckUtils]: 24: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume !(main_~i~1#1 < main_~length2~0#1); {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,991 INFO L290 TraceCheckUtils]: 21: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} havoc main_#t~nondet27#1; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,992 INFO L290 TraceCheckUtils]: 20: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,992 INFO L290 TraceCheckUtils]: 19: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} havoc main_#t~nondet27#1; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,994 INFO L290 TraceCheckUtils]: 16: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} main_~i~1#1 := 0; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume !(main_~i~0#1 < main_~length1~0#1); {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} havoc main_#t~nondet25#1; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,996 INFO L290 TraceCheckUtils]: 10: Hoare triple {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {17735#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {17683#(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|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,998 INFO L290 TraceCheckUtils]: 8: Hoare triple {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {17735#(or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,998 INFO L290 TraceCheckUtils]: 7: Hoare triple {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} havoc main_#t~nondet25#1; {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,999 INFO L290 TraceCheckUtils]: 6: Hoare triple {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:42,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:43,000 INFO L290 TraceCheckUtils]: 4: Hoare triple {17453#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {17739#(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|)) (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2))} is VALID [2022-02-20 23:42:43,000 INFO L290 TraceCheckUtils]: 3: Hoare triple {17453#true} assume !(main_~length2~0#1 < 1); {17453#true} is VALID [2022-02-20 23:42:43,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {17453#true} assume !(main_~length1~0#1 < 1); {17453#true} is VALID [2022-02-20 23:42:43,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {17453#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {17453#true} is VALID [2022-02-20 23:42:43,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {17453#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17453#true} is VALID [2022-02-20 23:42:43,001 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:43,001 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [768206792] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:43,001 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:42:43,001 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [9, 12] total 31 [2022-02-20 23:42:43,001 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1722623087] [2022-02-20 23:42:43,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:43,002 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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) Word has length 47 [2022-02-20 23:42:43,002 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:43,002 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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:42:43,037 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:42:43,037 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:42:43,037 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:43,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:42:43,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=886, Unknown=0, NotChecked=0, Total=992 [2022-02-20 23:42:43,038 INFO L87 Difference]: Start difference. First operand 121 states and 143 transitions. Second operand has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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:42:43,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:43,976 INFO L93 Difference]: Finished difference Result 151 states and 170 transitions. [2022-02-20 23:42:43,976 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:42:43,976 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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) Word has length 47 [2022-02-20 23:42:43,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:43,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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:42:43,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 130 transitions. [2022-02-20 23:42:43,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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:42:43,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 130 transitions. [2022-02-20 23:42:43,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 130 transitions. [2022-02-20 23:42:44,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:44,095 INFO L225 Difference]: With dead ends: 151 [2022-02-20 23:42:44,095 INFO L226 Difference]: Without dead ends: 151 [2022-02-20 23:42:44,096 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 71 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 200 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=192, Invalid=1530, Unknown=0, NotChecked=0, Total=1722 [2022-02-20 23:42:44,096 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 280 mSDsluCounter, 266 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 280 SdHoareTripleChecker+Valid, 321 SdHoareTripleChecker+Invalid, 241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:44,096 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [280 Valid, 321 Invalid, 241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:42:44,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-02-20 23:42:44,098 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 120. [2022-02-20 23:42:44,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:44,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 120 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 119 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:44,098 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 120 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 119 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:44,098 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 120 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 119 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:44,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:44,100 INFO L93 Difference]: Finished difference Result 151 states and 170 transitions. [2022-02-20 23:42:44,100 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 170 transitions. [2022-02-20 23:42:44,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:44,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:44,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 119 states have internal predecessors, (141), 0 states have call successors, (0), 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 151 states. [2022-02-20 23:42:44,101 INFO L87 Difference]: Start difference. First operand has 120 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 119 states have internal predecessors, (141), 0 states have call successors, (0), 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 151 states. [2022-02-20 23:42:44,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:44,102 INFO L93 Difference]: Finished difference Result 151 states and 170 transitions. [2022-02-20 23:42:44,103 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 170 transitions. [2022-02-20 23:42:44,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:44,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:44,103 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:44,103 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:44,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 119 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:44,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 141 transitions. [2022-02-20 23:42:44,105 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 141 transitions. Word has length 47 [2022-02-20 23:42:44,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:44,105 INFO L470 AbstractCegarLoop]: Abstraction has 120 states and 141 transitions. [2022-02-20 23:42:44,105 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 13 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:42:44,105 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 141 transitions. [2022-02-20 23:42:44,105 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 23:42:44,105 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:44,106 INFO L514 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:44,124 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:42:44,321 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:44,321 INFO L402 AbstractCegarLoop]: === Iteration 33 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:44,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:44,322 INFO L85 PathProgramCache]: Analyzing trace with hash 1002087267, now seen corresponding path program 3 times [2022-02-20 23:42:44,322 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:44,322 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638201832] [2022-02-20 23:42:44,322 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:44,322 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:44,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:44,746 INFO L290 TraceCheckUtils]: 0: Hoare triple {18356#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {18356#true} is VALID [2022-02-20 23:42:44,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {18356#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {18356#true} is VALID [2022-02-20 23:42:44,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {18356#true} assume !(main_~length1~0#1 < 1); {18356#true} is VALID [2022-02-20 23:42:44,746 INFO L290 TraceCheckUtils]: 3: Hoare triple {18356#true} assume !(main_~length2~0#1 < 1); {18356#true} is VALID [2022-02-20 23:42:44,747 INFO L290 TraceCheckUtils]: 4: Hoare triple {18356#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} is VALID [2022-02-20 23:42:44,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} is VALID [2022-02-20 23:42:44,748 INFO L290 TraceCheckUtils]: 6: Hoare triple {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} is VALID [2022-02-20 23:42:44,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} havoc main_#t~nondet25#1; {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} is VALID [2022-02-20 23:42:44,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {18358#(and (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) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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))))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {18359#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1)) (<= 1 |ULTIMATE.start_main_~i~0#1|)) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2) (<= |ULTIMATE.start_main_~i~0#1| 1)))} is VALID [2022-02-20 23:42:44,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {18359#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1)) (<= 1 |ULTIMATE.start_main_~i~0#1|)) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2) (<= |ULTIMATE.start_main_~i~0#1| 1)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {18360#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~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:42:44,756 INFO L290 TraceCheckUtils]: 10: Hoare triple {18360#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~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|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {18360#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~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:42:44,756 INFO L290 TraceCheckUtils]: 11: Hoare triple {18360#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~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|))} havoc main_#t~nondet25#1; {18360#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~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:42:44,757 INFO L290 TraceCheckUtils]: 12: Hoare triple {18360#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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_~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|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {18361#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)))} is VALID [2022-02-20 23:42:44,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {18361#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)))} assume !(main_~i~0#1 < main_~length1~0#1); {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_~i~1#1 := 0; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,759 INFO L290 TraceCheckUtils]: 16: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet27#1; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,762 INFO L290 TraceCheckUtils]: 21: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet27#1; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,762 INFO L290 TraceCheckUtils]: 22: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,763 INFO L290 TraceCheckUtils]: 23: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !(main_~i~1#1 < main_~length2~0#1); {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {18362#(and (= (+ |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_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |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: L568-4 {18363#(and (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,764 INFO L290 TraceCheckUtils]: 25: Hoare triple {18363#(and (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |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: L573 {18363#(and (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:44,765 INFO L290 TraceCheckUtils]: 26: Hoare triple {18363#(and (or (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {18364#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| |ULTIMATE.start_cstrstr_~s#1.offset|) (= |ULTIMATE.start_cstrstr_#t~post13#1.base| |ULTIMATE.start_cstrstr_~s#1.base|))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,765 INFO L290 TraceCheckUtils]: 27: Hoare triple {18364#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| |ULTIMATE.start_cstrstr_~s#1.offset|) (= |ULTIMATE.start_cstrstr_#t~post13#1.base| |ULTIMATE.start_cstrstr_~s#1.base|))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {18365#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_#t~mem14#1|)))} is VALID [2022-02-20 23:42:44,766 INFO L290 TraceCheckUtils]: 28: Hoare triple {18365#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_#t~mem14#1|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,767 INFO L290 TraceCheckUtils]: 31: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,768 INFO L290 TraceCheckUtils]: 32: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,768 INFO L290 TraceCheckUtils]: 33: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,769 INFO L290 TraceCheckUtils]: 34: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:44,769 INFO L290 TraceCheckUtils]: 35: Hoare triple {18366#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18367#(and (or (and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) 1) 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|)) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= |ULTIMATE.start_cstrstr_~s#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:44,770 INFO L290 TraceCheckUtils]: 36: Hoare triple {18367#(and (or (and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) 1) 0)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) |ULTIMATE.start_cstrstr_~c~0#1|)) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= |ULTIMATE.start_cstrstr_~s#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {18368#(and (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (= |ULTIMATE.start_cstrstr_#t~mem18#1| |ULTIMATE.start_cstrstr_~c~0#1|)) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:44,770 INFO L290 TraceCheckUtils]: 37: Hoare triple {18368#(and (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (= |ULTIMATE.start_cstrstr_#t~mem18#1| |ULTIMATE.start_cstrstr_~c~0#1|)) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {18369#(and (or (= |ULTIMATE.start_cstrstr_~sc~0#1| |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:44,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {18369#(and (or (= |ULTIMATE.start_cstrstr_~sc~0#1| |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {18369#(and (or (= |ULTIMATE.start_cstrstr_~sc~0#1| |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:44,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {18369#(and (or (= |ULTIMATE.start_cstrstr_~sc~0#1| |ULTIMATE.start_cstrstr_~c~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {18370#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:44,772 INFO L290 TraceCheckUtils]: 40: Hoare triple {18370#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18371#(and (<= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (< 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} is VALID [2022-02-20 23:42:44,772 INFO L290 TraceCheckUtils]: 41: Hoare triple {18371#(and (<= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (< 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {18372#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:44,772 INFO L290 TraceCheckUtils]: 42: Hoare triple {18372#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {18373#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:44,773 INFO L290 TraceCheckUtils]: 43: Hoare triple {18373#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {18357#false} is VALID [2022-02-20 23:42:44,773 INFO L290 TraceCheckUtils]: 44: Hoare triple {18357#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {18357#false} is VALID [2022-02-20 23:42:44,773 INFO L290 TraceCheckUtils]: 45: Hoare triple {18357#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18357#false} is VALID [2022-02-20 23:42:44,773 INFO L290 TraceCheckUtils]: 46: Hoare triple {18357#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {18357#false} is VALID [2022-02-20 23:42:44,773 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 5 proven. 10 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:44,773 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:44,773 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638201832] [2022-02-20 23:42:44,773 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1638201832] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:44,773 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1358974219] [2022-02-20 23:42:44,773 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:42:44,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:44,774 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:44,775 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:42:44,779 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:42:44,880 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 23:42:44,880 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:44,881 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 76 conjunts are in the unsatisfiable core [2022-02-20 23:42:44,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:44,898 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:44,997 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:44,997 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:42:45,618 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:42:45,849 INFO L356 Elim1Store]: treesize reduction 38, result has 20.8 percent of original size [2022-02-20 23:42:45,850 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 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 24 treesize of output 23 [2022-02-20 23:42:51,011 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:42:51,011 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 25 treesize of output 20 [2022-02-20 23:42:51,099 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:51,105 INFO L356 Elim1Store]: treesize reduction 32, result has 8.6 percent of original size [2022-02-20 23:42:51,105 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 26 treesize of output 13 [2022-02-20 23:42:51,173 INFO L290 TraceCheckUtils]: 0: Hoare triple {18356#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {18356#true} is VALID [2022-02-20 23:42:51,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {18356#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {18356#true} is VALID [2022-02-20 23:42:51,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {18356#true} assume !(main_~length1~0#1 < 1); {18356#true} is VALID [2022-02-20 23:42:51,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {18356#true} assume !(main_~length2~0#1 < 1); {18356#true} is VALID [2022-02-20 23:42:51,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {18356#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,176 INFO L290 TraceCheckUtils]: 6: Hoare triple {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {18389#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:51,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:51,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:51,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet25#1; {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:51,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {18402#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {18415#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {18415#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1); {18419#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,181 INFO L290 TraceCheckUtils]: 14: Hoare triple {18419#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:51,181 INFO L290 TraceCheckUtils]: 15: Hoare triple {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:51,182 INFO L290 TraceCheckUtils]: 16: Hoare triple {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:51,183 INFO L290 TraceCheckUtils]: 17: Hoare triple {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet27#1; {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:51,183 INFO L290 TraceCheckUtils]: 18: Hoare triple {18423#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet27#1; {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {18436#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {18449#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,186 INFO L290 TraceCheckUtils]: 23: Hoare triple {18449#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1); {18453#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:51,187 INFO L290 TraceCheckUtils]: 24: Hoare triple {18453#(and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |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: L568-4 {18457#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |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_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:51,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {18457#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |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_~nondetString2~0#1.offset| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |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: L573 {18461#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |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))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:51,190 INFO L290 TraceCheckUtils]: 26: Hoare triple {18461#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (or (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |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))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {18465#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (or (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:51,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {18465#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (or (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {18469#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (or (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:51,192 INFO L290 TraceCheckUtils]: 28: Hoare triple {18469#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (or (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {18469#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (or (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:51,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {18469#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (or (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrstr_~s#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {18476#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:51,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {18476#(and (<= 1 |ULTIMATE.start_cstrlen_~s~0#1.offset|) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:42:51,196 INFO L290 TraceCheckUtils]: 31: Hoare triple {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:42:51,199 INFO L290 TraceCheckUtils]: 32: Hoare triple {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:42:51,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:42:51,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} goto; {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:42:51,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {18480#(and (= |ULTIMATE.start_cstrstr_~s#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrstr_~s#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18496#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:51,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {18496#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:51,205 INFO L290 TraceCheckUtils]: 37: Hoare triple {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:51,206 INFO L290 TraceCheckUtils]: 38: Hoare triple {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:51,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} is VALID [2022-02-20 23:42:51,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {18500#(and (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (or (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|) (<= (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_main_~length1~0#1|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrstr_~s#1.offset| 1))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18513#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (or (<= (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_cstrlen_~s~0#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} is VALID [2022-02-20 23:42:51,209 INFO L290 TraceCheckUtils]: 41: Hoare triple {18513#(and (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (exists ((|ULTIMATE.start_cstrlen_~s~0#1.base| Int) (|ULTIMATE.start_main_~length1~0#1| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|) |ULTIMATE.start_main_~length2~0#1|) (or (<= (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_cstrlen_~s~0#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrlen_~s~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (<= 2 (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {18372#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:51,210 INFO L290 TraceCheckUtils]: 42: Hoare triple {18372#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {18373#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:51,210 INFO L290 TraceCheckUtils]: 43: Hoare triple {18373#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {18357#false} is VALID [2022-02-20 23:42:51,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {18357#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {18357#false} is VALID [2022-02-20 23:42:51,210 INFO L290 TraceCheckUtils]: 45: Hoare triple {18357#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18357#false} is VALID [2022-02-20 23:42:51,211 INFO L290 TraceCheckUtils]: 46: Hoare triple {18357#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {18357#false} is VALID [2022-02-20 23:42:51,212 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 5 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:51,212 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:51,711 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 56 treesize of output 50 [2022-02-20 23:42:52,654 INFO L290 TraceCheckUtils]: 46: Hoare triple {18357#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {18357#false} is VALID [2022-02-20 23:42:52,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {18357#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18357#false} is VALID [2022-02-20 23:42:52,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {18357#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {18357#false} is VALID [2022-02-20 23:42:52,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {18373#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {18357#false} is VALID [2022-02-20 23:42:52,655 INFO L290 TraceCheckUtils]: 42: Hoare triple {18372#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {18373#(= |ULTIMATE.start_cstrstr_~sc~0#1| 0)} is VALID [2022-02-20 23:42:52,656 INFO L290 TraceCheckUtils]: 41: Hoare triple {18547#(or (not (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {18372#(= |ULTIMATE.start_cstrstr_#t~mem18#1| 0)} is VALID [2022-02-20 23:42:52,656 INFO L290 TraceCheckUtils]: 40: Hoare triple {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18547#(or (not (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_#t~post17#1.base|) |ULTIMATE.start_cstrstr_#t~post17#1.offset|) 0))} is VALID [2022-02-20 23:42:52,656 INFO L290 TraceCheckUtils]: 39: Hoare triple {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:52,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:52,657 INFO L290 TraceCheckUtils]: 37: Hoare triple {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:52,657 INFO L290 TraceCheckUtils]: 36: Hoare triple {18564#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {18551#(or (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:52,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {18564#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (not (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) |ULTIMATE.start_cstrstr_~s#1.offset|) 0))} is VALID [2022-02-20 23:42:52,658 INFO L290 TraceCheckUtils]: 34: Hoare triple {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} goto; {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,659 INFO L290 TraceCheckUtils]: 33: Hoare triple {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {18584#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {18568#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {18588#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {18584#(or (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= (+ |ULTIMATE.start_cstrlen_~s~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrlen_~s~0#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {18588#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {18588#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {18595#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {18588#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {18599#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |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| 1)) 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {18595#(or (< (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|) (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1)) (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (not (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))) (not (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~s#1.base|) (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:52,662 INFO L290 TraceCheckUtils]: 25: Hoare triple {18603#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| (store (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_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0) (not (<= (+ |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: L573 {18599#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |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| 1)) 0))} is VALID [2022-02-20 23:42:52,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {18607#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |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: L568-4 {18603#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| (store (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_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {18611#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |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); {18607#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {18611#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,665 INFO L290 TraceCheckUtils]: 21: Hoare triple {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet27#1; {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,666 INFO L290 TraceCheckUtils]: 19: Hoare triple {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {18615#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet27#1; {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {18641#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {18628#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:52,670 INFO L290 TraceCheckUtils]: 13: Hoare triple {18645#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1); {18641#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,670 INFO L290 TraceCheckUtils]: 12: Hoare triple {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {18645#(or (= |ULTIMATE.start_main_~length1~0#1| 2) (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~length1~0#1|) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,671 INFO L290 TraceCheckUtils]: 11: Hoare triple {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet25#1; {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,671 INFO L290 TraceCheckUtils]: 10: Hoare triple {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {18649#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet25#1; {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,674 INFO L290 TraceCheckUtils]: 6: Hoare triple {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,675 INFO L290 TraceCheckUtils]: 4: Hoare triple {18356#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {18662#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~length1~0#1| 2) (and (= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) (not (<= 0 |ULTIMATE.start_main_~nondetString1~0#1.offset|)) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:52,675 INFO L290 TraceCheckUtils]: 3: Hoare triple {18356#true} assume !(main_~length2~0#1 < 1); {18356#true} is VALID [2022-02-20 23:42:52,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {18356#true} assume !(main_~length1~0#1 < 1); {18356#true} is VALID [2022-02-20 23:42:52,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {18356#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {18356#true} is VALID [2022-02-20 23:42:52,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {18356#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {18356#true} is VALID [2022-02-20 23:42:52,676 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 5 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:52,676 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1358974219] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:52,676 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:52,677 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 21, 21] total 52 [2022-02-20 23:42:52,677 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1031226050] [2022-02-20 23:42:52,677 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:52,677 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 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 47 [2022-02-20 23:42:52,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:52,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:52,757 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:42:52,757 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 52 states [2022-02-20 23:42:52,757 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:52,758 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2022-02-20 23:42:52,758 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=2428, Unknown=0, NotChecked=0, Total=2652 [2022-02-20 23:42:52,758 INFO L87 Difference]: Start difference. First operand 120 states and 141 transitions. Second operand has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:55,628 INFO L93 Difference]: Finished difference Result 198 states and 225 transitions. [2022-02-20 23:42:55,628 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-02-20 23:42:55,628 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 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 47 [2022-02-20 23:42:55,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:55,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 138 transitions. [2022-02-20 23:42:55,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 138 transitions. [2022-02-20 23:42:55,630 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 138 transitions. [2022-02-20 23:42:55,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:55,721 INFO L225 Difference]: With dead ends: 198 [2022-02-20 23:42:55,722 INFO L226 Difference]: Without dead ends: 190 [2022-02-20 23:42:55,723 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1311 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=589, Invalid=6551, Unknown=0, NotChecked=0, Total=7140 [2022-02-20 23:42:55,723 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 198 mSDsluCounter, 979 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 198 SdHoareTripleChecker+Valid, 1020 SdHoareTripleChecker+Invalid, 680 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 482 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 160 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:55,724 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [198 Valid, 1020 Invalid, 680 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 482 Invalid, 0 Unknown, 160 Unchecked, 0.4s Time] [2022-02-20 23:42:55,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states. [2022-02-20 23:42:55,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 176. [2022-02-20 23:42:55,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:55,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 190 states. Second operand has 176 states, 171 states have (on average 1.1871345029239766) internal successors, (203), 175 states have internal predecessors, (203), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,726 INFO L74 IsIncluded]: Start isIncluded. First operand 190 states. Second operand has 176 states, 171 states have (on average 1.1871345029239766) internal successors, (203), 175 states have internal predecessors, (203), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,726 INFO L87 Difference]: Start difference. First operand 190 states. Second operand has 176 states, 171 states have (on average 1.1871345029239766) internal successors, (203), 175 states have internal predecessors, (203), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:55,728 INFO L93 Difference]: Finished difference Result 190 states and 217 transitions. [2022-02-20 23:42:55,728 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 217 transitions. [2022-02-20 23:42:55,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:55,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:55,728 INFO L74 IsIncluded]: Start isIncluded. First operand has 176 states, 171 states have (on average 1.1871345029239766) internal successors, (203), 175 states have internal predecessors, (203), 0 states have call successors, (0), 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 190 states. [2022-02-20 23:42:55,729 INFO L87 Difference]: Start difference. First operand has 176 states, 171 states have (on average 1.1871345029239766) internal successors, (203), 175 states have internal predecessors, (203), 0 states have call successors, (0), 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 190 states. [2022-02-20 23:42:55,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:55,730 INFO L93 Difference]: Finished difference Result 190 states and 217 transitions. [2022-02-20 23:42:55,730 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 217 transitions. [2022-02-20 23:42:55,730 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:55,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:55,731 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:55,731 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:55,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 176 states, 171 states have (on average 1.1871345029239766) internal successors, (203), 175 states have internal predecessors, (203), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 176 states to 176 states and 203 transitions. [2022-02-20 23:42:55,732 INFO L78 Accepts]: Start accepts. Automaton has 176 states and 203 transitions. Word has length 47 [2022-02-20 23:42:55,736 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:55,736 INFO L470 AbstractCegarLoop]: Abstraction has 176 states and 203 transitions. [2022-02-20 23:42:55,736 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 52 states, 52 states have (on average 2.2884615384615383) internal successors, (119), 52 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:55,737 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 203 transitions. [2022-02-20 23:42:55,737 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:42:55,737 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:55,737 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:55,754 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-02-20 23:42:55,954 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:55,954 INFO L402 AbstractCegarLoop]: === Iteration 34 === Targeting ULTIMATE.startErr20REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:55,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:55,955 INFO L85 PathProgramCache]: Analyzing trace with hash -1048782252, now seen corresponding path program 1 times [2022-02-20 23:42:55,955 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:55,956 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [584524575] [2022-02-20 23:42:55,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:55,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:55,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:56,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {19508#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {19508#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {19508#true} assume !(main_~length1~0#1 < 1); {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 3: Hoare triple {19508#true} assume !(main_~length2~0#1 < 1); {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 4: Hoare triple {19508#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {19508#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {19508#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {19508#true} is VALID [2022-02-20 23:42:56,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {19508#true} havoc main_#t~nondet25#1; {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {19508#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {19508#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 10: Hoare triple {19508#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 11: Hoare triple {19508#true} havoc main_#t~nondet25#1; {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 12: Hoare triple {19508#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {19508#true} assume !(main_~i~0#1 < main_~length1~0#1); {19508#true} is VALID [2022-02-20 23:42:56,002 INFO L290 TraceCheckUtils]: 14: Hoare triple {19508#true} main_~i~1#1 := 0; {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {19508#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {19508#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {19508#true} havoc main_#t~nondet27#1; {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 18: Hoare triple {19508#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {19508#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {19508#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {19508#true} is VALID [2022-02-20 23:42:56,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {19508#true} havoc main_#t~nondet27#1; {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 22: Hoare triple {19508#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {19508#true} assume !(main_~i~1#1 < main_~length2~0#1); {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {19508#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {19508#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {19508#true} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 27: Hoare triple {19508#true} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {19508#true} is VALID [2022-02-20 23:42:56,004 INFO L290 TraceCheckUtils]: 28: Hoare triple {19508#true} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {19508#true} is VALID [2022-02-20 23:42:56,005 INFO L290 TraceCheckUtils]: 29: Hoare triple {19508#true} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {19510#(= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|)} is VALID [2022-02-20 23:42:56,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {19510#(= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|)} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,006 INFO L290 TraceCheckUtils]: 33: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} goto; {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,008 INFO L290 TraceCheckUtils]: 37: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,008 INFO L290 TraceCheckUtils]: 38: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} is VALID [2022-02-20 23:42:56,009 INFO L290 TraceCheckUtils]: 40: Hoare triple {19511#(= (select |#valid| |ULTIMATE.start_cstrstr_~find#1.base|) 1)} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,009 INFO L290 TraceCheckUtils]: 41: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} assume !(0 == cstrncmp_~n#1 % 4294967296); {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,009 INFO L290 TraceCheckUtils]: 42: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,010 INFO L290 TraceCheckUtils]: 43: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,010 INFO L290 TraceCheckUtils]: 45: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} assume cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1;havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1; {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,011 INFO L290 TraceCheckUtils]: 46: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} SUMMARY for call cstrncmp_#t~mem9#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L529 {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} is VALID [2022-02-20 23:42:56,011 INFO L290 TraceCheckUtils]: 47: Hoare triple {19512#(= (select |#valid| |ULTIMATE.start_cstrncmp_~s2#1.base|) 1)} cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1; {19513#(= (select |#valid| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|) 1)} is VALID [2022-02-20 23:42:56,011 INFO L290 TraceCheckUtils]: 48: Hoare triple {19513#(= (select |#valid| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|) 1)} assume !(1 == #valid[cstrncmp_#t~pre8#1.base]); {19509#false} is VALID [2022-02-20 23:42:56,012 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 23:42:56,012 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:56,012 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [584524575] [2022-02-20 23:42:56,012 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [584524575] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:56,012 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:56,012 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:42:56,013 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1722153182] [2022-02-20 23:42:56,013 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:56,013 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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) Word has length 49 [2022-02-20 23:42:56,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:56,013 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:56,036 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:42:56,036 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:42:56,036 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:56,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:42:56,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:42:56,037 INFO L87 Difference]: Start difference. First operand 176 states and 203 transitions. Second operand has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:56,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:56,230 INFO L93 Difference]: Finished difference Result 188 states and 215 transitions. [2022-02-20 23:42:56,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:42:56,230 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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) Word has length 49 [2022-02-20 23:42:56,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:56,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:56,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-02-20 23:42:56,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:56,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-02-20 23:42:56,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 71 transitions. [2022-02-20 23:42:56,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:56,278 INFO L225 Difference]: With dead ends: 188 [2022-02-20 23:42:56,278 INFO L226 Difference]: Without dead ends: 188 [2022-02-20 23:42:56,278 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:42:56,279 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 86 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:56,279 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 158 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:42:56,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-02-20 23:42:56,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 175. [2022-02-20 23:42:56,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:56,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 175 states, 171 states have (on average 1.1754385964912282) internal successors, (201), 174 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:56,281 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 175 states, 171 states have (on average 1.1754385964912282) internal successors, (201), 174 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:56,281 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 175 states, 171 states have (on average 1.1754385964912282) internal successors, (201), 174 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:56,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:56,282 INFO L93 Difference]: Finished difference Result 188 states and 215 transitions. [2022-02-20 23:42:56,283 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 215 transitions. [2022-02-20 23:42:56,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:56,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:56,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 175 states, 171 states have (on average 1.1754385964912282) internal successors, (201), 174 states have internal predecessors, (201), 0 states have call successors, (0), 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 188 states. [2022-02-20 23:42:56,284 INFO L87 Difference]: Start difference. First operand has 175 states, 171 states have (on average 1.1754385964912282) internal successors, (201), 174 states have internal predecessors, (201), 0 states have call successors, (0), 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 188 states. [2022-02-20 23:42:56,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:56,286 INFO L93 Difference]: Finished difference Result 188 states and 215 transitions. [2022-02-20 23:42:56,286 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 215 transitions. [2022-02-20 23:42:56,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:56,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:56,286 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:56,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:56,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 175 states, 171 states have (on average 1.1754385964912282) internal successors, (201), 174 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:56,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 201 transitions. [2022-02-20 23:42:56,288 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 201 transitions. Word has length 49 [2022-02-20 23:42:56,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:56,288 INFO L470 AbstractCegarLoop]: Abstraction has 175 states and 201 transitions. [2022-02-20 23:42:56,288 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 8.2) internal successors, (41), 6 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:42:56,288 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 201 transitions. [2022-02-20 23:42:56,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:42:56,289 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:56,289 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:56,289 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33 [2022-02-20 23:42:56,289 INFO L402 AbstractCegarLoop]: === Iteration 35 === Targeting ULTIMATE.startErr21REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:56,289 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:56,289 INFO L85 PathProgramCache]: Analyzing trace with hash -1048782251, now seen corresponding path program 1 times [2022-02-20 23:42:56,290 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:56,290 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1228473190] [2022-02-20 23:42:56,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:56,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:56,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:56,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {20261#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {20261#true} is VALID [2022-02-20 23:42:56,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {20261#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {20261#true} is VALID [2022-02-20 23:42:56,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {20261#true} assume !(main_~length1~0#1 < 1); {20261#true} is VALID [2022-02-20 23:42:56,447 INFO L290 TraceCheckUtils]: 3: Hoare triple {20261#true} assume !(main_~length2~0#1 < 1); {20261#true} is VALID [2022-02-20 23:42:56,448 INFO L290 TraceCheckUtils]: 4: Hoare triple {20261#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {20263#(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:42:56,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {20263#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {20263#(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:42:56,449 INFO L290 TraceCheckUtils]: 6: Hoare triple {20263#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {20263#(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:42:56,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {20263#(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~nondet25#1; {20263#(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:42:56,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {20263#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {20263#(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:42:56,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {20263#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {20263#(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:42:56,451 INFO L290 TraceCheckUtils]: 10: Hoare triple {20263#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {20263#(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:42:56,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {20263#(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~nondet25#1; {20263#(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:42:56,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {20263#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {20263#(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:42:56,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {20263#(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); {20263#(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:42:56,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {20263#(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; {20264#(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:42:56,453 INFO L290 TraceCheckUtils]: 15: Hoare triple {20264#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {20264#(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:42:56,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {20264#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {20264#(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:42:56,453 INFO L290 TraceCheckUtils]: 17: Hoare triple {20264#(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~nondet27#1; {20264#(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:42:56,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {20264#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {20265#(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:42:56,454 INFO L290 TraceCheckUtils]: 19: Hoare triple {20265#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {20266#(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:42:56,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {20266#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {20266#(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:42:56,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {20266#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet27#1; {20266#(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:42:56,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {20266#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {20266#(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:42:56,456 INFO L290 TraceCheckUtils]: 23: Hoare triple {20266#(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); {20266#(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:42:56,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {20266#(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: L568-4 {20266#(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:42:56,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {20266#(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: L573 {20266#(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:42:56,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {20266#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {20267#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))))} is VALID [2022-02-20 23:42:56,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {20267#(and (= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (<= (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1) |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|))))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,458 INFO L290 TraceCheckUtils]: 28: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {20269#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} is VALID [2022-02-20 23:42:56,459 INFO L290 TraceCheckUtils]: 30: Hoare triple {20269#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {20269#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} is VALID [2022-02-20 23:42:56,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {20269#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {20269#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} is VALID [2022-02-20 23:42:56,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {20269#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~str#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} goto; {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,462 INFO L290 TraceCheckUtils]: 36: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,462 INFO L290 TraceCheckUtils]: 37: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,463 INFO L290 TraceCheckUtils]: 38: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,463 INFO L290 TraceCheckUtils]: 39: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} is VALID [2022-02-20 23:42:56,464 INFO L290 TraceCheckUtils]: 40: Hoare triple {20268#(and (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {20270#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,464 INFO L290 TraceCheckUtils]: 41: Hoare triple {20270#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {20270#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,464 INFO L290 TraceCheckUtils]: 42: Hoare triple {20270#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {20270#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,465 INFO L290 TraceCheckUtils]: 43: Hoare triple {20270#(and (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,466 INFO L290 TraceCheckUtils]: 45: Hoare triple {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} assume cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1;havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1; {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,466 INFO L290 TraceCheckUtils]: 46: Hoare triple {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} SUMMARY for call cstrncmp_#t~mem9#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L529 {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} is VALID [2022-02-20 23:42:56,467 INFO L290 TraceCheckUtils]: 47: Hoare triple {20271#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)))} cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1; {20272#(and (<= (+ |ULTIMATE.start_cstrncmp_#t~pre8#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~pre8#1.offset|))} is VALID [2022-02-20 23:42:56,467 INFO L290 TraceCheckUtils]: 48: Hoare triple {20272#(and (<= (+ |ULTIMATE.start_cstrncmp_#t~pre8#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_#t~pre8#1.offset|))} assume !(1 + cstrncmp_#t~pre8#1.offset <= #length[cstrncmp_#t~pre8#1.base] && 0 <= cstrncmp_#t~pre8#1.offset); {20262#false} is VALID [2022-02-20 23:42:56,467 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:56,468 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:56,468 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1228473190] [2022-02-20 23:42:56,468 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1228473190] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:56,468 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1571433079] [2022-02-20 23:42:56,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:56,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:56,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:56,476 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:42:56,504 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:42:56,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:56,581 INFO L263 TraceCheckSpWp]: Trace formula consists of 256 conjuncts, 41 conjunts are in the unsatisfiable core [2022-02-20 23:42:56,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:56,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:56,649 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:56,649 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:42:57,255 INFO L290 TraceCheckUtils]: 0: Hoare triple {20261#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {20261#true} is VALID [2022-02-20 23:42:57,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {20261#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {20261#true} is VALID [2022-02-20 23:42:57,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {20261#true} assume !(main_~length1~0#1 < 1); {20261#true} is VALID [2022-02-20 23:42:57,255 INFO L290 TraceCheckUtils]: 3: Hoare triple {20261#true} assume !(main_~length2~0#1 < 1); {20261#true} is VALID [2022-02-20 23:42:57,256 INFO L290 TraceCheckUtils]: 4: Hoare triple {20261#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {20288#(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:42:57,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {20288#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {20288#(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:42:57,257 INFO L290 TraceCheckUtils]: 6: Hoare triple {20288#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {20288#(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:42:57,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {20288#(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~nondet25#1; {20288#(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:42:57,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {20288#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {20288#(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:42:57,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {20288#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {20288#(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:42:57,259 INFO L290 TraceCheckUtils]: 10: Hoare triple {20288#(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~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {20288#(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:42:57,259 INFO L290 TraceCheckUtils]: 11: Hoare triple {20288#(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~nondet25#1; {20288#(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:42:57,259 INFO L290 TraceCheckUtils]: 12: Hoare triple {20288#(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~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {20288#(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:42:57,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {20288#(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); {20288#(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:42:57,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {20288#(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; {20319#(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:42:57,261 INFO L290 TraceCheckUtils]: 15: Hoare triple {20319#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {20319#(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:42:57,261 INFO L290 TraceCheckUtils]: 16: Hoare triple {20319#(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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {20319#(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:42:57,261 INFO L290 TraceCheckUtils]: 17: Hoare triple {20319#(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~nondet27#1; {20319#(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:42:57,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {20319#(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~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {20332#(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:42:57,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {20332#(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);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {20336#(and (< 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~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,263 INFO L290 TraceCheckUtils]: 21: Hoare triple {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} havoc main_#t~nondet27#1; {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {20336#(and (< 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); {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~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: L568-4 {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~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: L573 {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:57,266 INFO L290 TraceCheckUtils]: 26: Hoare triple {20336#(and (< 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {20358#(and (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} is VALID [2022-02-20 23:42:57,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {20358#(and (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= |ULTIMATE.start_cstrstr_#t~post13#1.offset| 0) (= |ULTIMATE.start_cstrstr_~find#1.offset| (+ |ULTIMATE.start_cstrstr_#t~post13#1.offset| 1)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,267 INFO L290 TraceCheckUtils]: 28: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,268 INFO L290 TraceCheckUtils]: 30: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,269 INFO L290 TraceCheckUtils]: 33: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,269 INFO L290 TraceCheckUtils]: 34: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} goto; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,270 INFO L290 TraceCheckUtils]: 35: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,270 INFO L290 TraceCheckUtils]: 36: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,270 INFO L290 TraceCheckUtils]: 37: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,271 INFO L290 TraceCheckUtils]: 38: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,271 INFO L290 TraceCheckUtils]: 39: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,272 INFO L290 TraceCheckUtils]: 40: Hoare triple {20362#(and (<= |ULTIMATE.start_cstrstr_~find#1.offset| 1) (< 1 (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {20402#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:42:57,272 INFO L290 TraceCheckUtils]: 41: Hoare triple {20402#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} assume !(0 == cstrncmp_~n#1 % 4294967296); {20402#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:42:57,272 INFO L290 TraceCheckUtils]: 42: Hoare triple {20402#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {20402#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} is VALID [2022-02-20 23:42:57,273 INFO L290 TraceCheckUtils]: 43: Hoare triple {20402#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 1))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} is VALID [2022-02-20 23:42:57,273 INFO L290 TraceCheckUtils]: 44: Hoare triple {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} is VALID [2022-02-20 23:42:57,274 INFO L290 TraceCheckUtils]: 45: Hoare triple {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} assume cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1;havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1; {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} is VALID [2022-02-20 23:42:57,274 INFO L290 TraceCheckUtils]: 46: Hoare triple {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} SUMMARY for call cstrncmp_#t~mem9#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L529 {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} is VALID [2022-02-20 23:42:57,275 INFO L290 TraceCheckUtils]: 47: Hoare triple {20412#(and (<= 2 |ULTIMATE.start_cstrncmp_~s2#1.offset|) (< 1 (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| 2))} cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1; {20425#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|)) (<= |ULTIMATE.start_cstrncmp_#t~pre8#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_#t~pre8#1.offset|))} is VALID [2022-02-20 23:42:57,275 INFO L290 TraceCheckUtils]: 48: Hoare triple {20425#(and (< 1 (select |#length| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|)) (<= |ULTIMATE.start_cstrncmp_#t~pre8#1.offset| 1) (<= 1 |ULTIMATE.start_cstrncmp_#t~pre8#1.offset|))} assume !(1 + cstrncmp_#t~pre8#1.offset <= #length[cstrncmp_#t~pre8#1.base] && 0 <= cstrncmp_#t~pre8#1.offset); {20262#false} is VALID [2022-02-20 23:42:57,276 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:57,276 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:57,915 INFO L290 TraceCheckUtils]: 48: Hoare triple {20429#(and (<= 0 |ULTIMATE.start_cstrncmp_#t~pre8#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_#t~pre8#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|)))} assume !(1 + cstrncmp_#t~pre8#1.offset <= #length[cstrncmp_#t~pre8#1.base] && 0 <= cstrncmp_#t~pre8#1.offset); {20262#false} is VALID [2022-02-20 23:42:57,916 INFO L290 TraceCheckUtils]: 47: Hoare triple {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset - 1; {20429#(and (<= 0 |ULTIMATE.start_cstrncmp_#t~pre8#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_#t~pre8#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_#t~pre8#1.base|)))} is VALID [2022-02-20 23:42:57,916 INFO L290 TraceCheckUtils]: 46: Hoare triple {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} SUMMARY for call cstrncmp_#t~mem9#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L529 {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,917 INFO L290 TraceCheckUtils]: 45: Hoare triple {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} assume cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1;havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1; {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,917 INFO L290 TraceCheckUtils]: 44: Hoare triple {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,918 INFO L290 TraceCheckUtils]: 43: Hoare triple {20446#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {20433#(and (<= |ULTIMATE.start_cstrncmp_~s2#1.offset| (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 1 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {20446#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {20446#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,918 INFO L290 TraceCheckUtils]: 41: Hoare triple {20446#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} assume !(0 == cstrncmp_~n#1 % 4294967296); {20446#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {20446#(and (<= (+ |ULTIMATE.start_cstrncmp_~s2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s2#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s2#1.offset|))} is VALID [2022-02-20 23:42:57,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,920 INFO L290 TraceCheckUtils]: 37: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,920 INFO L290 TraceCheckUtils]: 36: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} goto; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,921 INFO L290 TraceCheckUtils]: 32: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,922 INFO L290 TraceCheckUtils]: 31: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,922 INFO L290 TraceCheckUtils]: 30: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,922 INFO L290 TraceCheckUtils]: 29: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,923 INFO L290 TraceCheckUtils]: 27: Hoare triple {20496#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {20456#(and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|))} is VALID [2022-02-20 23:42:57,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {20500#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {20496#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post13#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrstr_~find#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~find#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~find#1.offset|)))} is VALID [2022-02-20 23:42:57,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {20500#(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|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {20500#(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:42:57,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {20500#(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|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {20500#(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:42:57,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {20500#(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 !(main_~i~1#1 < main_~length2~0#1); {20500#(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:42:57,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {20500#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {20500#(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:42:57,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {20500#(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|)))} havoc main_#t~nondet27#1; {20500#(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:42:57,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {20500#(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|)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {20500#(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:42:57,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {20522#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {20500#(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:42:57,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {20522#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (not (< |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length2~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} havoc main_#t~nondet27#1; {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:57,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:57,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:57,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_~i~1#1 := 0; {20526#(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|)) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:42:57,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1); {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,929 INFO L290 TraceCheckUtils]: 12: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,929 INFO L290 TraceCheckUtils]: 11: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet25#1; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet25#1; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,932 INFO L290 TraceCheckUtils]: 4: Hoare triple {20261#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {20539#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:57,932 INFO L290 TraceCheckUtils]: 3: Hoare triple {20261#true} assume !(main_~length2~0#1 < 1); {20261#true} is VALID [2022-02-20 23:42:57,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {20261#true} assume !(main_~length1~0#1 < 1); {20261#true} is VALID [2022-02-20 23:42:57,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {20261#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {20261#true} is VALID [2022-02-20 23:42:57,933 INFO L290 TraceCheckUtils]: 0: Hoare triple {20261#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {20261#true} is VALID [2022-02-20 23:42:57,933 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:57,933 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1571433079] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:57,933 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:42:57,933 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [11, 10] total 29 [2022-02-20 23:42:57,934 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628925545] [2022-02-20 23:42:57,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:57,934 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 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 49 [2022-02-20 23:42:57,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:57,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:57,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:57,957 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:42:57,957 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:57,957 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:42:57,958 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=758, Unknown=0, NotChecked=0, Total=870 [2022-02-20 23:42:57,958 INFO L87 Difference]: Start difference. First operand 175 states and 201 transitions. Second operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:58,377 INFO L93 Difference]: Finished difference Result 231 states and 265 transitions. [2022-02-20 23:42:58,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:42:58,377 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 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 49 [2022-02-20 23:42:58,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:58,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-02-20 23:42:58,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-02-20 23:42:58,379 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2022-02-20 23:42:58,467 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:58,470 INFO L225 Difference]: With dead ends: 231 [2022-02-20 23:42:58,470 INFO L226 Difference]: Without dead ends: 231 [2022-02-20 23:42:58,470 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=207, Invalid=1199, Unknown=0, NotChecked=0, Total=1406 [2022-02-20 23:42:58,476 INFO L933 BasicCegarLoop]: 54 mSDtfsCounter, 222 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 222 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 169 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:58,476 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [222 Valid, 232 Invalid, 169 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:58,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 231 states. [2022-02-20 23:42:58,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 231 to 183. [2022-02-20 23:42:58,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:58,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 231 states. Second operand has 183 states, 179 states have (on average 1.1787709497206704) internal successors, (211), 182 states have internal predecessors, (211), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,479 INFO L74 IsIncluded]: Start isIncluded. First operand 231 states. Second operand has 183 states, 179 states have (on average 1.1787709497206704) internal successors, (211), 182 states have internal predecessors, (211), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,479 INFO L87 Difference]: Start difference. First operand 231 states. Second operand has 183 states, 179 states have (on average 1.1787709497206704) internal successors, (211), 182 states have internal predecessors, (211), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:58,481 INFO L93 Difference]: Finished difference Result 231 states and 265 transitions. [2022-02-20 23:42:58,481 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 265 transitions. [2022-02-20 23:42:58,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:58,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:58,482 INFO L74 IsIncluded]: Start isIncluded. First operand has 183 states, 179 states have (on average 1.1787709497206704) internal successors, (211), 182 states have internal predecessors, (211), 0 states have call successors, (0), 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 231 states. [2022-02-20 23:42:58,482 INFO L87 Difference]: Start difference. First operand has 183 states, 179 states have (on average 1.1787709497206704) internal successors, (211), 182 states have internal predecessors, (211), 0 states have call successors, (0), 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 231 states. [2022-02-20 23:42:58,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:58,486 INFO L93 Difference]: Finished difference Result 231 states and 265 transitions. [2022-02-20 23:42:58,486 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 265 transitions. [2022-02-20 23:42:58,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:58,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:58,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:58,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:58,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 183 states, 179 states have (on average 1.1787709497206704) internal successors, (211), 182 states have internal predecessors, (211), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 183 states to 183 states and 211 transitions. [2022-02-20 23:42:58,492 INFO L78 Accepts]: Start accepts. Automaton has 183 states and 211 transitions. Word has length 49 [2022-02-20 23:42:58,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:58,493 INFO L470 AbstractCegarLoop]: Abstraction has 183 states and 211 transitions. [2022-02-20 23:42:58,493 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:58,493 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 211 transitions. [2022-02-20 23:42:58,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:42:58,504 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:58,504 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:58,525 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-02-20 23:42:58,717 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-02-20 23:42:58,717 INFO L402 AbstractCegarLoop]: === Iteration 36 === Targeting ULTIMATE.startErr15REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:58,717 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:58,717 INFO L85 PathProgramCache]: Analyzing trace with hash 1733532468, now seen corresponding path program 1 times [2022-02-20 23:42:58,717 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:58,717 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137505704] [2022-02-20 23:42:58,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:58,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:58,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:58,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {21473#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {21473#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {21473#true} assume !(main_~length1~0#1 < 1); {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {21473#true} assume !(main_~length2~0#1 < 1); {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 4: Hoare triple {21473#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {21473#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 6: Hoare triple {21473#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {21473#true} is VALID [2022-02-20 23:42:58,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {21473#true} havoc main_#t~nondet25#1; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {21473#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {21473#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 10: Hoare triple {21473#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 11: Hoare triple {21473#true} havoc main_#t~nondet25#1; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {21473#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {21473#true} assume !(main_~i~0#1 < main_~length1~0#1); {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {21473#true} main_~i~1#1 := 0; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 15: Hoare triple {21473#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {21473#true} is VALID [2022-02-20 23:42:58,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {21473#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 17: Hoare triple {21473#true} havoc main_#t~nondet27#1; {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {21473#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {21473#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {21473#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 21: Hoare triple {21473#true} havoc main_#t~nondet27#1; {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 22: Hoare triple {21473#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {21473#true} assume !(main_~i~1#1 < main_~length2~0#1); {21473#true} is VALID [2022-02-20 23:42:58,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {21473#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {21473#true} is VALID [2022-02-20 23:42:58,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {21473#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {21473#true} is VALID [2022-02-20 23:42:58,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {21473#true} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {21473#true} is VALID [2022-02-20 23:42:58,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {21473#true} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {21473#true} is VALID [2022-02-20 23:42:58,833 INFO L290 TraceCheckUtils]: 28: Hoare triple {21473#true} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {21473#true} is VALID [2022-02-20 23:42:58,833 INFO L290 TraceCheckUtils]: 29: Hoare triple {21473#true} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {21475#(and (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|))} is VALID [2022-02-20 23:42:58,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {21475#(and (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~s~0#1.offset|) (= |ULTIMATE.start_cstrstr_~find#1.base| |ULTIMATE.start_cstrlen_~s~0#1.base|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {21476#(and (= |ULTIMATE.start_cstrlen_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~s~0#1.offset|))} is VALID [2022-02-20 23:42:58,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {21476#(and (= |ULTIMATE.start_cstrlen_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|)) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~s~0#1.offset|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {21477#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~s~0#1.offset|))} is VALID [2022-02-20 23:42:58,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {21477#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrlen_~s~0#1.offset|) 0) (= |ULTIMATE.start_cstrstr_~find#1.offset| |ULTIMATE.start_cstrlen_~s~0#1.offset|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} goto; {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,837 INFO L290 TraceCheckUtils]: 37: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,837 INFO L290 TraceCheckUtils]: 38: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,837 INFO L290 TraceCheckUtils]: 39: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} is VALID [2022-02-20 23:42:58,838 INFO L290 TraceCheckUtils]: 40: Hoare triple {21478#(= (select (select |#memory_int| |ULTIMATE.start_cstrstr_~find#1.base|) |ULTIMATE.start_cstrstr_~find#1.offset|) 0)} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {21479#(= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s2#1.base|) |ULTIMATE.start_cstrncmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:42:58,838 INFO L290 TraceCheckUtils]: 41: Hoare triple {21479#(= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s2#1.base|) |ULTIMATE.start_cstrncmp_~s2#1.offset|) 0)} assume !(0 == cstrncmp_~n#1 % 4294967296); {21479#(= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s2#1.base|) |ULTIMATE.start_cstrncmp_~s2#1.offset|) 0)} is VALID [2022-02-20 23:42:58,839 INFO L290 TraceCheckUtils]: 42: Hoare triple {21479#(= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s2#1.base|) |ULTIMATE.start_cstrncmp_~s2#1.offset|) 0)} SUMMARY for call cstrncmp_#t~mem6#1 := read~int(cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, 1); srcloc: L527-4 {21480#(and (= |ULTIMATE.start_cstrncmp_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s1#1.base|) |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s2#1.base|) |ULTIMATE.start_cstrncmp_~s2#1.offset|) 0))} is VALID [2022-02-20 23:42:58,839 INFO L290 TraceCheckUtils]: 43: Hoare triple {21480#(and (= |ULTIMATE.start_cstrncmp_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s1#1.base|) |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s2#1.base|) |ULTIMATE.start_cstrncmp_~s2#1.offset|) 0))} cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset := cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#t~post5#1.base, 1 + cstrncmp_#t~post5#1.offset; {21481#(and (= |ULTIMATE.start_cstrncmp_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s1#1.base|) |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_#t~post5#1.base|) |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) 0))} is VALID [2022-02-20 23:42:58,840 INFO L290 TraceCheckUtils]: 44: Hoare triple {21481#(and (= |ULTIMATE.start_cstrncmp_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s1#1.base|) |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_#t~post5#1.base|) |ULTIMATE.start_cstrncmp_#t~post5#1.offset|) 0))} SUMMARY for call cstrncmp_#t~mem7#1 := read~int(cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, 1); srcloc: L528-1 {21482#(and (= |ULTIMATE.start_cstrncmp_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s1#1.base|) |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrncmp_#t~mem7#1| 0))} is VALID [2022-02-20 23:42:58,840 INFO L290 TraceCheckUtils]: 45: Hoare triple {21482#(and (= |ULTIMATE.start_cstrncmp_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_cstrncmp_~s1#1.base|) |ULTIMATE.start_cstrncmp_~s1#1.offset|)) (= |ULTIMATE.start_cstrncmp_#t~mem7#1| 0))} assume !(cstrncmp_#t~mem6#1 != cstrncmp_#t~mem7#1);havoc cstrncmp_#t~mem6#1;havoc cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset;havoc cstrncmp_#t~mem7#1;cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset := cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#t~post11#1.base, 1 + cstrncmp_#t~post11#1.offset; {21483#(= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_#t~post11#1.base|) |ULTIMATE.start_cstrncmp_#t~post11#1.offset|) 0)} is VALID [2022-02-20 23:42:58,841 INFO L290 TraceCheckUtils]: 46: Hoare triple {21483#(= (select (select |#memory_int| |ULTIMATE.start_cstrncmp_#t~post11#1.base|) |ULTIMATE.start_cstrncmp_#t~post11#1.offset|) 0)} SUMMARY for call cstrncmp_#t~mem12#1 := read~int(cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, 1); srcloc: L530 {21484#(= |ULTIMATE.start_cstrncmp_#t~mem12#1| 0)} is VALID [2022-02-20 23:42:58,841 INFO L290 TraceCheckUtils]: 47: Hoare triple {21484#(= |ULTIMATE.start_cstrncmp_#t~mem12#1| 0)} assume !(0 == cstrncmp_#t~mem12#1);havoc cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset;havoc cstrncmp_#t~mem12#1; {21474#false} is VALID [2022-02-20 23:42:58,841 INFO L290 TraceCheckUtils]: 48: Hoare triple {21474#false} cstrncmp_#t~pre4#1 := cstrncmp_~n#1 - 1;cstrncmp_~n#1 := cstrncmp_~n#1 - 1; {21474#false} is VALID [2022-02-20 23:42:58,841 INFO L290 TraceCheckUtils]: 49: Hoare triple {21474#false} assume !!(0 != cstrncmp_#t~pre4#1 % 4294967296);havoc cstrncmp_#t~pre4#1; {21474#false} is VALID [2022-02-20 23:42:58,842 INFO L290 TraceCheckUtils]: 50: Hoare triple {21474#false} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {21474#false} is VALID [2022-02-20 23:42:58,842 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 23:42:58,842 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:58,842 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1137505704] [2022-02-20 23:42:58,842 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1137505704] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:58,842 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:58,842 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-02-20 23:42:58,843 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1411852339] [2022-02-20 23:42:58,843 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:58,843 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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) Word has length 51 [2022-02-20 23:42:58,843 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:58,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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:42:58,874 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:42:58,874 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:42:58,874 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:58,874 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:42:58,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:42:58,875 INFO L87 Difference]: Start difference. First operand 183 states and 211 transitions. Second operand has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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:42:59,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:59,355 INFO L93 Difference]: Finished difference Result 265 states and 302 transitions. [2022-02-20 23:42:59,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:42:59,355 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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) Word has length 51 [2022-02-20 23:42:59,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:59,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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:42:59,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-02-20 23:42:59,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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:42:59,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-02-20 23:42:59,357 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-02-20 23:42:59,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:59,403 INFO L225 Difference]: With dead ends: 265 [2022-02-20 23:42:59,403 INFO L226 Difference]: Without dead ends: 265 [2022-02-20 23:42:59,403 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=80, Invalid=300, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:42:59,404 INFO L933 BasicCegarLoop]: 51 mSDtfsCounter, 68 mSDsluCounter, 416 mSDsCounter, 0 mSdLazyCounter, 201 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 467 SdHoareTripleChecker+Invalid, 212 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 201 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:59,404 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 467 Invalid, 212 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 201 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:59,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 265 states. [2022-02-20 23:42:59,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 265 to 246. [2022-02-20 23:42:59,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:59,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 265 states. Second operand has 246 states, 242 states have (on average 1.1735537190082646) internal successors, (284), 245 states have internal predecessors, (284), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:59,407 INFO L74 IsIncluded]: Start isIncluded. First operand 265 states. Second operand has 246 states, 242 states have (on average 1.1735537190082646) internal successors, (284), 245 states have internal predecessors, (284), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:59,408 INFO L87 Difference]: Start difference. First operand 265 states. Second operand has 246 states, 242 states have (on average 1.1735537190082646) internal successors, (284), 245 states have internal predecessors, (284), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:59,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:59,410 INFO L93 Difference]: Finished difference Result 265 states and 302 transitions. [2022-02-20 23:42:59,410 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 302 transitions. [2022-02-20 23:42:59,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:59,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:59,413 INFO L74 IsIncluded]: Start isIncluded. First operand has 246 states, 242 states have (on average 1.1735537190082646) internal successors, (284), 245 states have internal predecessors, (284), 0 states have call successors, (0), 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 265 states. [2022-02-20 23:42:59,413 INFO L87 Difference]: Start difference. First operand has 246 states, 242 states have (on average 1.1735537190082646) internal successors, (284), 245 states have internal predecessors, (284), 0 states have call successors, (0), 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 265 states. [2022-02-20 23:42:59,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:59,416 INFO L93 Difference]: Finished difference Result 265 states and 302 transitions. [2022-02-20 23:42:59,416 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 302 transitions. [2022-02-20 23:42:59,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:59,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:59,417 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:59,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:59,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 246 states, 242 states have (on average 1.1735537190082646) internal successors, (284), 245 states have internal predecessors, (284), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:59,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 246 states to 246 states and 284 transitions. [2022-02-20 23:42:59,428 INFO L78 Accepts]: Start accepts. Automaton has 246 states and 284 transitions. Word has length 51 [2022-02-20 23:42:59,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:59,429 INFO L470 AbstractCegarLoop]: Abstraction has 246 states and 284 transitions. [2022-02-20 23:42:59,429 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 12 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:42:59,429 INFO L276 IsEmpty]: Start isEmpty. Operand 246 states and 284 transitions. [2022-02-20 23:42:59,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:42:59,431 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:59,431 INFO L514 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:59,431 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35 [2022-02-20 23:42:59,431 INFO L402 AbstractCegarLoop]: === Iteration 37 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:42:59,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:59,432 INFO L85 PathProgramCache]: Analyzing trace with hash -1890652506, now seen corresponding path program 4 times [2022-02-20 23:42:59,432 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:59,432 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634300456] [2022-02-20 23:42:59,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:59,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:59,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:59,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {22544#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {22544#true} is VALID [2022-02-20 23:42:59,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {22544#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {22544#true} is VALID [2022-02-20 23:42:59,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {22544#true} assume !(main_~length1~0#1 < 1); {22544#true} is VALID [2022-02-20 23:42:59,574 INFO L290 TraceCheckUtils]: 3: Hoare triple {22544#true} assume !(main_~length2~0#1 < 1); {22544#true} is VALID [2022-02-20 23:42:59,575 INFO L290 TraceCheckUtils]: 4: Hoare triple {22544#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {22546#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,576 INFO L290 TraceCheckUtils]: 6: Hoare triple {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {22546#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {22547#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,581 INFO L290 TraceCheckUtils]: 10: Hoare triple {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:59,581 INFO L290 TraceCheckUtils]: 12: Hoare triple {22547#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22548#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:42:59,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {22548#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22548#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:42:59,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {22548#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22549#(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:42:59,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {22549#(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))} havoc main_#t~nondet25#1; {22549#(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:42:59,583 INFO L290 TraceCheckUtils]: 16: Hoare triple {22549#(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))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22549#(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:42:59,583 INFO L290 TraceCheckUtils]: 17: Hoare triple {22549#(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 !(main_~i~0#1 < main_~length1~0#1); {22549#(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:42:59,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {22549#(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))} main_~i~1#1 := 0; {22549#(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:42:59,584 INFO L290 TraceCheckUtils]: 19: Hoare triple {22549#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {22549#(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:42:59,584 INFO L290 TraceCheckUtils]: 20: Hoare triple {22549#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {22549#(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:42:59,585 INFO L290 TraceCheckUtils]: 21: Hoare triple {22549#(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))} havoc main_#t~nondet27#1; {22549#(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:42:59,585 INFO L290 TraceCheckUtils]: 22: Hoare triple {22549#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {22549#(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:42:59,585 INFO L290 TraceCheckUtils]: 23: Hoare triple {22549#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {22549#(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:42:59,586 INFO L290 TraceCheckUtils]: 24: Hoare triple {22549#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {22549#(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:42:59,586 INFO L290 TraceCheckUtils]: 25: Hoare triple {22549#(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))} havoc main_#t~nondet27#1; {22549#(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:42:59,586 INFO L290 TraceCheckUtils]: 26: Hoare triple {22549#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {22549#(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:42:59,587 INFO L290 TraceCheckUtils]: 27: Hoare triple {22549#(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 !(main_~i~1#1 < main_~length2~0#1); {22549#(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:42:59,587 INFO L290 TraceCheckUtils]: 28: Hoare triple {22549#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {22549#(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:42:59,587 INFO L290 TraceCheckUtils]: 29: Hoare triple {22549#(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: L573 {22549#(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:42:59,588 INFO L290 TraceCheckUtils]: 30: Hoare triple {22549#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,589 INFO L290 TraceCheckUtils]: 32: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,589 INFO L290 TraceCheckUtils]: 34: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,590 INFO L290 TraceCheckUtils]: 35: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,590 INFO L290 TraceCheckUtils]: 36: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,590 INFO L290 TraceCheckUtils]: 37: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,591 INFO L290 TraceCheckUtils]: 38: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:42:59,591 INFO L290 TraceCheckUtils]: 39: Hoare triple {22550#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22551#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:59,592 INFO L290 TraceCheckUtils]: 40: Hoare triple {22551#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:59,592 INFO L290 TraceCheckUtils]: 41: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:59,592 INFO L290 TraceCheckUtils]: 42: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:59,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:42:59,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:42:59,593 INFO L290 TraceCheckUtils]: 45: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:42:59,594 INFO L290 TraceCheckUtils]: 46: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:42:59,594 INFO L290 TraceCheckUtils]: 47: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:42:59,594 INFO L290 TraceCheckUtils]: 48: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:42:59,595 INFO L290 TraceCheckUtils]: 49: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22554#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 2 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} is VALID [2022-02-20 23:42:59,595 INFO L290 TraceCheckUtils]: 50: Hoare triple {22554#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 2 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {22545#false} is VALID [2022-02-20 23:42:59,595 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 22 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:42:59,596 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:59,596 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [634300456] [2022-02-20 23:42:59,596 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [634300456] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:59,596 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1071995270] [2022-02-20 23:42:59,596 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:42:59,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:59,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:59,598 INFO L229 MonitoredProcess]: Starting monitored process 22 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:42:59,599 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-02-20 23:42:59,701 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:42:59,702 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:59,703 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 33 conjunts are in the unsatisfiable core [2022-02-20 23:42:59,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:59,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:00,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {22544#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {22544#true} is VALID [2022-02-20 23:43:00,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {22544#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {22544#true} is VALID [2022-02-20 23:43:00,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {22544#true} assume !(main_~length1~0#1 < 1); {22544#true} is VALID [2022-02-20 23:43:00,046 INFO L290 TraceCheckUtils]: 3: Hoare triple {22544#true} assume !(main_~length2~0#1 < 1); {22544#true} is VALID [2022-02-20 23:43:00,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {22544#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,047 INFO L290 TraceCheckUtils]: 6: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet25#1; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,051 INFO L290 TraceCheckUtils]: 16: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,051 INFO L290 TraceCheckUtils]: 17: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !(main_~i~0#1 < main_~length1~0#1); {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,052 INFO L290 TraceCheckUtils]: 18: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_~i~1#1 := 0; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,052 INFO L290 TraceCheckUtils]: 19: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet27#1; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet27#1; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !(main_~i~1#1 < main_~length2~0#1); {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (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: L568-4 {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {22603#(<= (+ |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: L573 {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:00,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {22603#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,059 INFO L290 TraceCheckUtils]: 36: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,059 INFO L290 TraceCheckUtils]: 37: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} goto; {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:00,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {22652#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22680#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 3) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {22680#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 3) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,062 INFO L290 TraceCheckUtils]: 43: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,062 INFO L290 TraceCheckUtils]: 44: Hoare triple {22552#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,063 INFO L290 TraceCheckUtils]: 45: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,063 INFO L290 TraceCheckUtils]: 46: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,063 INFO L290 TraceCheckUtils]: 47: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,064 INFO L290 TraceCheckUtils]: 48: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,064 INFO L290 TraceCheckUtils]: 49: Hoare triple {22553#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22554#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 2 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} is VALID [2022-02-20 23:43:00,065 INFO L290 TraceCheckUtils]: 50: Hoare triple {22554#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 2 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {22545#false} is VALID [2022-02-20 23:43:00,065 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:43:00,065 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:43:00,493 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:43:00,545 INFO L290 TraceCheckUtils]: 50: Hoare triple {22714#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {22545#false} is VALID [2022-02-20 23:43:00,546 INFO L290 TraceCheckUtils]: 49: Hoare triple {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22714#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|))} is VALID [2022-02-20 23:43:00,547 INFO L290 TraceCheckUtils]: 48: Hoare triple {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,547 INFO L290 TraceCheckUtils]: 47: Hoare triple {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,547 INFO L290 TraceCheckUtils]: 46: Hoare triple {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,548 INFO L290 TraceCheckUtils]: 45: Hoare triple {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,548 INFO L290 TraceCheckUtils]: 44: Hoare triple {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22718#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:00,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:00,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:00,550 INFO L290 TraceCheckUtils]: 41: Hoare triple {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:00,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {22747#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1))))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {22734#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:00,551 INFO L290 TraceCheckUtils]: 39: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {22747#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1))))} is VALID [2022-02-20 23:43:00,551 INFO L290 TraceCheckUtils]: 38: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} goto; {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,552 INFO L290 TraceCheckUtils]: 37: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,553 INFO L290 TraceCheckUtils]: 34: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,553 INFO L290 TraceCheckUtils]: 33: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,555 INFO L290 TraceCheckUtils]: 30: Hoare triple {22779#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {22751#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:00,555 INFO L290 TraceCheckUtils]: 29: Hoare triple {22779#(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: L573 {22779#(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:43:00,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {22779#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {22779#(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:43:00,556 INFO L290 TraceCheckUtils]: 27: Hoare triple {22779#(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 !(main_~i~1#1 < main_~length2~0#1); {22779#(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:43:00,556 INFO L290 TraceCheckUtils]: 26: Hoare triple {22779#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {22779#(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:43:00,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {22779#(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|)))} havoc main_#t~nondet27#1; {22779#(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:43:00,557 INFO L290 TraceCheckUtils]: 24: Hoare triple {22779#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {22779#(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:43:00,557 INFO L290 TraceCheckUtils]: 23: Hoare triple {22779#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {22779#(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:43:00,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {22779#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {22779#(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:43:00,558 INFO L290 TraceCheckUtils]: 21: Hoare triple {22779#(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|)))} havoc main_#t~nondet27#1; {22779#(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:43:00,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {22779#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {22779#(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:43:00,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {22779#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {22779#(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:43:00,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {22779#(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|)))} main_~i~1#1 := 0; {22779#(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:43:00,560 INFO L290 TraceCheckUtils]: 17: Hoare triple {22779#(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 !(main_~i~0#1 < main_~length1~0#1); {22779#(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:43:00,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {22779#(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|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22779#(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:43:00,561 INFO L290 TraceCheckUtils]: 15: Hoare triple {22779#(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|)))} havoc main_#t~nondet25#1; {22779#(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:43:00,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22779#(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:43:00,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,562 INFO L290 TraceCheckUtils]: 12: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22596#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,562 INFO L290 TraceCheckUtils]: 11: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,563 INFO L290 TraceCheckUtils]: 10: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {22583#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,564 INFO L290 TraceCheckUtils]: 6: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,565 INFO L290 TraceCheckUtils]: 4: Hoare triple {22544#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {22570#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:00,565 INFO L290 TraceCheckUtils]: 3: Hoare triple {22544#true} assume !(main_~length2~0#1 < 1); {22544#true} is VALID [2022-02-20 23:43:00,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {22544#true} assume !(main_~length1~0#1 < 1); {22544#true} is VALID [2022-02-20 23:43:00,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {22544#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {22544#true} is VALID [2022-02-20 23:43:00,565 INFO L290 TraceCheckUtils]: 0: Hoare triple {22544#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {22544#true} is VALID [2022-02-20 23:43:00,565 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:43:00,565 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1071995270] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:43:00,565 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:43:00,565 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 22 [2022-02-20 23:43:00,566 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1132368885] [2022-02-20 23:43:00,566 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:43:00,566 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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 51 [2022-02-20 23:43:00,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:00,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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:43:00,638 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:43:00,638 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 23:43:00,639 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:00,639 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 23:43:00,639 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=432, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:43:00,639 INFO L87 Difference]: Start difference. First operand 246 states and 284 transitions. Second operand has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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:43:01,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:01,947 INFO L93 Difference]: Finished difference Result 408 states and 476 transitions. [2022-02-20 23:43:01,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:43:01,948 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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 51 [2022-02-20 23:43:01,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:01,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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:43:01,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 189 transitions. [2022-02-20 23:43:01,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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:43:01,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 189 transitions. [2022-02-20 23:43:01,950 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 189 transitions. [2022-02-20 23:43:02,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 189 edges. 189 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:02,093 INFO L225 Difference]: With dead ends: 408 [2022-02-20 23:43:02,094 INFO L226 Difference]: Without dead ends: 408 [2022-02-20 23:43:02,094 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 127 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=203, Invalid=789, Unknown=0, NotChecked=0, Total=992 [2022-02-20 23:43:02,094 INFO L933 BasicCegarLoop]: 109 mSDtfsCounter, 626 mSDsluCounter, 737 mSDsCounter, 0 mSdLazyCounter, 524 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 626 SdHoareTripleChecker+Valid, 846 SdHoareTripleChecker+Invalid, 542 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 524 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:02,095 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [626 Valid, 846 Invalid, 542 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 524 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:43:02,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 408 states. [2022-02-20 23:43:02,104 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 408 to 303. [2022-02-20 23:43:02,105 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:02,105 INFO L82 GeneralOperation]: Start isEquivalent. First operand 408 states. Second operand has 303 states, 299 states have (on average 1.193979933110368) internal successors, (357), 302 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,105 INFO L74 IsIncluded]: Start isIncluded. First operand 408 states. Second operand has 303 states, 299 states have (on average 1.193979933110368) internal successors, (357), 302 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,105 INFO L87 Difference]: Start difference. First operand 408 states. Second operand has 303 states, 299 states have (on average 1.193979933110368) internal successors, (357), 302 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:02,111 INFO L93 Difference]: Finished difference Result 408 states and 476 transitions. [2022-02-20 23:43:02,111 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 476 transitions. [2022-02-20 23:43:02,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:02,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:02,112 INFO L74 IsIncluded]: Start isIncluded. First operand has 303 states, 299 states have (on average 1.193979933110368) internal successors, (357), 302 states have internal predecessors, (357), 0 states have call successors, (0), 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 408 states. [2022-02-20 23:43:02,112 INFO L87 Difference]: Start difference. First operand has 303 states, 299 states have (on average 1.193979933110368) internal successors, (357), 302 states have internal predecessors, (357), 0 states have call successors, (0), 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 408 states. [2022-02-20 23:43:02,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:02,117 INFO L93 Difference]: Finished difference Result 408 states and 476 transitions. [2022-02-20 23:43:02,118 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 476 transitions. [2022-02-20 23:43:02,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:02,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:02,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:02,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:02,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 303 states, 299 states have (on average 1.193979933110368) internal successors, (357), 302 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 303 states to 303 states and 357 transitions. [2022-02-20 23:43:02,122 INFO L78 Accepts]: Start accepts. Automaton has 303 states and 357 transitions. Word has length 51 [2022-02-20 23:43:02,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:02,122 INFO L470 AbstractCegarLoop]: Abstraction has 303 states and 357 transitions. [2022-02-20 23:43:02,122 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 22 states have (on average 5.136363636363637) internal successors, (113), 23 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:43:02,122 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 357 transitions. [2022-02-20 23:43:02,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 23:43:02,122 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:02,122 INFO L514 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:02,139 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-02-20 23:43:02,335 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-02-20 23:43:02,335 INFO L402 AbstractCegarLoop]: === Iteration 38 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:43:02,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:02,336 INFO L85 PathProgramCache]: Analyzing trace with hash -1696379912, now seen corresponding path program 1 times [2022-02-20 23:43:02,336 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:02,336 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1054695932] [2022-02-20 23:43:02,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:02,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:02,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 0: Hoare triple {24414#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {24414#true} is VALID [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {24414#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {24414#true} is VALID [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {24414#true} assume !(main_~length1~0#1 < 1); {24414#true} is VALID [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 3: Hoare triple {24414#true} assume !(main_~length2~0#1 < 1); {24414#true} is VALID [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 4: Hoare triple {24414#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {24414#true} is VALID [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {24414#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {24414#true} is VALID [2022-02-20 23:43:02,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {24414#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {24414#true} havoc main_#t~nondet25#1; {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {24414#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {24414#true} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {24414#true} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {24414#true} havoc main_#t~nondet25#1; {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {24414#true} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {24414#true} assume !(main_~i~0#1 < main_~length1~0#1); {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {24414#true} main_~i~1#1 := 0; {24414#true} is VALID [2022-02-20 23:43:02,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {24414#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {24414#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 17: Hoare triple {24414#true} havoc main_#t~nondet27#1; {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {24414#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {24414#true} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {24414#true} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 21: Hoare triple {24414#true} havoc main_#t~nondet27#1; {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 22: Hoare triple {24414#true} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {24414#true} is VALID [2022-02-20 23:43:02,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {24414#true} assume !(main_~i~1#1 < main_~length2~0#1); {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 24: Hoare triple {24414#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {24414#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L573 {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 26: Hoare triple {24414#true} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 27: Hoare triple {24414#true} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 28: Hoare triple {24414#true} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 29: Hoare triple {24414#true} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {24414#true} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 31: Hoare triple {24414#true} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {24414#true} is VALID [2022-02-20 23:43:02,370 INFO L290 TraceCheckUtils]: 32: Hoare triple {24414#true} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 33: Hoare triple {24414#true} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {24414#true} goto; {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 35: Hoare triple {24414#true} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 36: Hoare triple {24414#true} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {24414#true} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 38: Hoare triple {24414#true} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 39: Hoare triple {24414#true} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {24414#true} is VALID [2022-02-20 23:43:02,371 INFO L290 TraceCheckUtils]: 40: Hoare triple {24414#true} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {24414#true} is VALID [2022-02-20 23:43:02,372 INFO L290 TraceCheckUtils]: 41: Hoare triple {24414#true} assume 0 == cstrncmp_~n#1 % 4294967296;cstrncmp_#res#1 := 0; {24416#(= |ULTIMATE.start_cstrncmp_#res#1| 0)} is VALID [2022-02-20 23:43:02,372 INFO L290 TraceCheckUtils]: 42: Hoare triple {24416#(= |ULTIMATE.start_cstrncmp_#res#1| 0)} cstrstr_#t~ret16#1 := cstrncmp_#res#1;assume { :end_inline_cstrncmp } true;assume -2147483648 <= cstrstr_#t~ret16#1 && cstrstr_#t~ret16#1 <= 2147483647; {24417#(= |ULTIMATE.start_cstrstr_#t~ret16#1| 0)} is VALID [2022-02-20 23:43:02,372 INFO L290 TraceCheckUtils]: 43: Hoare triple {24417#(= |ULTIMATE.start_cstrstr_#t~ret16#1| 0)} assume !!(0 != cstrstr_#t~ret16#1);havoc cstrstr_#t~ret16#1; {24415#false} is VALID [2022-02-20 23:43:02,372 INFO L290 TraceCheckUtils]: 44: Hoare triple {24415#false} goto; {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 45: Hoare triple {24415#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 46: Hoare triple {24415#false} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 47: Hoare triple {24415#false} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 48: Hoare triple {24415#false} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 49: Hoare triple {24415#false} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 50: Hoare triple {24415#false} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {24415#false} is VALID [2022-02-20 23:43:02,373 INFO L290 TraceCheckUtils]: 51: Hoare triple {24415#false} assume !(1 + cstrstr_#t~post17#1.offset <= #length[cstrstr_#t~post17#1.base] && 0 <= cstrstr_#t~post17#1.offset); {24415#false} is VALID [2022-02-20 23:43:02,374 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-20 23:43:02,374 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:02,374 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1054695932] [2022-02-20 23:43:02,374 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1054695932] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:02,374 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:02,374 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:43:02,375 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1137139653] [2022-02-20 23:43:02,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:02,376 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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) Word has length 52 [2022-02-20 23:43:02,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:02,376 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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:43:02,396 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:43:02,396 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:43:02,396 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:02,397 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:43:02,397 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:43:02,397 INFO L87 Difference]: Start difference. First operand 303 states and 357 transitions. Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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:43:02,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:02,479 INFO L93 Difference]: Finished difference Result 315 states and 363 transitions. [2022-02-20 23:43:02,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:43:02,479 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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) Word has length 52 [2022-02-20 23:43:02,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:02,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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:43:02,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2022-02-20 23:43:02,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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:43:02,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2022-02-20 23:43:02,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 62 transitions. [2022-02-20 23:43:02,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:02,513 INFO L225 Difference]: With dead ends: 315 [2022-02-20 23:43:02,513 INFO L226 Difference]: Without dead ends: 291 [2022-02-20 23:43:02,513 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 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:43:02,514 INFO L933 BasicCegarLoop]: 59 mSDtfsCounter, 1 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:02,515 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 171 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:02,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 291 states. [2022-02-20 23:43:02,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 291 to 291. [2022-02-20 23:43:02,518 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:02,518 INFO L82 GeneralOperation]: Start isEquivalent. First operand 291 states. Second operand has 291 states, 287 states have (on average 1.1428571428571428) internal successors, (328), 290 states have internal predecessors, (328), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,518 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand has 291 states, 287 states have (on average 1.1428571428571428) internal successors, (328), 290 states have internal predecessors, (328), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,519 INFO L87 Difference]: Start difference. First operand 291 states. Second operand has 291 states, 287 states have (on average 1.1428571428571428) internal successors, (328), 290 states have internal predecessors, (328), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:02,522 INFO L93 Difference]: Finished difference Result 291 states and 328 transitions. [2022-02-20 23:43:02,522 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 328 transitions. [2022-02-20 23:43:02,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:02,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:02,522 INFO L74 IsIncluded]: Start isIncluded. First operand has 291 states, 287 states have (on average 1.1428571428571428) internal successors, (328), 290 states have internal predecessors, (328), 0 states have call successors, (0), 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 291 states. [2022-02-20 23:43:02,522 INFO L87 Difference]: Start difference. First operand has 291 states, 287 states have (on average 1.1428571428571428) internal successors, (328), 290 states have internal predecessors, (328), 0 states have call successors, (0), 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 291 states. [2022-02-20 23:43:02,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:02,526 INFO L93 Difference]: Finished difference Result 291 states and 328 transitions. [2022-02-20 23:43:02,526 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 328 transitions. [2022-02-20 23:43:02,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:02,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:02,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:02,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:02,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 291 states, 287 states have (on average 1.1428571428571428) internal successors, (328), 290 states have internal predecessors, (328), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:02,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 291 states to 291 states and 328 transitions. [2022-02-20 23:43:02,529 INFO L78 Accepts]: Start accepts. Automaton has 291 states and 328 transitions. Word has length 52 [2022-02-20 23:43:02,529 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:02,529 INFO L470 AbstractCegarLoop]: Abstraction has 291 states and 328 transitions. [2022-02-20 23:43:02,530 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 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:43:02,530 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 328 transitions. [2022-02-20 23:43:02,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 23:43:02,530 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:02,530 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:02,530 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37 [2022-02-20 23:43:02,530 INFO L402 AbstractCegarLoop]: === Iteration 39 === Targeting ULTIMATE.startErr15REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 21 more)] === [2022-02-20 23:43:02,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:02,531 INFO L85 PathProgramCache]: Analyzing trace with hash 1519273906, now seen corresponding path program 1 times [2022-02-20 23:43:02,531 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:02,531 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [577403235] [2022-02-20 23:43:02,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:02,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:02,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:02,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {25610#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {25610#true} is VALID [2022-02-20 23:43:02,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {25610#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {25610#true} is VALID [2022-02-20 23:43:02,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#true} assume !(main_~length1~0#1 < 1); {25610#true} is VALID [2022-02-20 23:43:02,672 INFO L290 TraceCheckUtils]: 3: Hoare triple {25610#true} assume !(main_~length2~0#1 < 1); {25610#true} is VALID [2022-02-20 23:43:02,673 INFO L290 TraceCheckUtils]: 4: Hoare triple {25610#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,673 INFO L290 TraceCheckUtils]: 5: Hoare triple {25612#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,673 INFO L290 TraceCheckUtils]: 6: Hoare triple {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,674 INFO L290 TraceCheckUtils]: 7: Hoare triple {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {25612#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {25613#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,675 INFO L290 TraceCheckUtils]: 10: Hoare triple {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet25#1; {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:43:02,675 INFO L290 TraceCheckUtils]: 12: Hoare triple {25613#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25614#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:02,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {25614#(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);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25614#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:02,676 INFO L290 TraceCheckUtils]: 14: Hoare triple {25614#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25615#(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:43:02,677 INFO L290 TraceCheckUtils]: 15: Hoare triple {25615#(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))} havoc main_#t~nondet25#1; {25615#(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:43:02,677 INFO L290 TraceCheckUtils]: 16: Hoare triple {25615#(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))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25615#(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:43:02,677 INFO L290 TraceCheckUtils]: 17: Hoare triple {25615#(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 !(main_~i~0#1 < main_~length1~0#1); {25615#(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:43:02,678 INFO L290 TraceCheckUtils]: 18: Hoare triple {25615#(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))} main_~i~1#1 := 0; {25615#(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:43:02,678 INFO L290 TraceCheckUtils]: 19: Hoare triple {25615#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {25615#(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:43:02,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {25615#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {25615#(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:43:02,679 INFO L290 TraceCheckUtils]: 21: Hoare triple {25615#(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))} havoc main_#t~nondet27#1; {25615#(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:43:02,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {25615#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {25615#(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:43:02,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {25615#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {25615#(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:43:02,680 INFO L290 TraceCheckUtils]: 24: Hoare triple {25615#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {25615#(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:43:02,680 INFO L290 TraceCheckUtils]: 25: Hoare triple {25615#(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))} havoc main_#t~nondet27#1; {25615#(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:43:02,681 INFO L290 TraceCheckUtils]: 26: Hoare triple {25615#(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))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {25615#(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:43:02,681 INFO L290 TraceCheckUtils]: 27: Hoare triple {25615#(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 !(main_~i~1#1 < main_~length2~0#1); {25615#(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:43:02,682 INFO L290 TraceCheckUtils]: 28: Hoare triple {25615#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {25615#(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:43:02,682 INFO L290 TraceCheckUtils]: 29: Hoare triple {25615#(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: L573 {25615#(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:43:02,682 INFO L290 TraceCheckUtils]: 30: Hoare triple {25615#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,683 INFO L290 TraceCheckUtils]: 31: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,683 INFO L290 TraceCheckUtils]: 32: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,684 INFO L290 TraceCheckUtils]: 34: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,684 INFO L290 TraceCheckUtils]: 35: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,685 INFO L290 TraceCheckUtils]: 37: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,685 INFO L290 TraceCheckUtils]: 38: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} goto; {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} is VALID [2022-02-20 23:43:02,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {25616#(and (<= 3 (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= |ULTIMATE.start_cstrstr_~s#1.offset| 0))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {25617#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:02,686 INFO L290 TraceCheckUtils]: 40: Hoare triple {25617#(and (= |ULTIMATE.start_cstrstr_~s#1.base| |ULTIMATE.start_cstrstr_#t~post17#1.base|) (= |ULTIMATE.start_cstrstr_#t~post17#1.offset| 0) (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| (select |#length| |ULTIMATE.start_cstrstr_#t~post17#1.base|))) (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:02,687 INFO L290 TraceCheckUtils]: 41: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:02,687 INFO L290 TraceCheckUtils]: 42: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:02,687 INFO L290 TraceCheckUtils]: 43: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:02,688 INFO L290 TraceCheckUtils]: 44: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:02,688 INFO L290 TraceCheckUtils]: 45: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:02,689 INFO L290 TraceCheckUtils]: 46: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:02,689 INFO L290 TraceCheckUtils]: 47: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:02,689 INFO L290 TraceCheckUtils]: 48: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:02,690 INFO L290 TraceCheckUtils]: 49: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:43:02,690 INFO L290 TraceCheckUtils]: 50: Hoare triple {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:43:02,691 INFO L290 TraceCheckUtils]: 51: Hoare triple {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {25611#false} is VALID [2022-02-20 23:43:02,691 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 18 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:43:02,691 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:02,691 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [577403235] [2022-02-20 23:43:02,691 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [577403235] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:02,691 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [636654506] [2022-02-20 23:43:02,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:02,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:02,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:02,693 INFO L229 MonitoredProcess]: Starting monitored process 23 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:43:02,705 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-02-20 23:43:02,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:02,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 23:43:02,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:02,818 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:03,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {25610#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {25610#true} is VALID [2022-02-20 23:43:03,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {25610#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {25610#true} is VALID [2022-02-20 23:43:03,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#true} assume !(main_~length1~0#1 < 1); {25610#true} is VALID [2022-02-20 23:43:03,150 INFO L290 TraceCheckUtils]: 3: Hoare triple {25610#true} assume !(main_~length2~0#1 < 1); {25610#true} is VALID [2022-02-20 23:43:03,150 INFO L290 TraceCheckUtils]: 4: Hoare triple {25610#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,151 INFO L290 TraceCheckUtils]: 6: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,152 INFO L290 TraceCheckUtils]: 10: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet25#1; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,154 INFO L290 TraceCheckUtils]: 16: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !(main_~i~0#1 < main_~length1~0#1); {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_~i~1#1 := 0; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,156 INFO L290 TraceCheckUtils]: 21: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet27#1; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,157 INFO L290 TraceCheckUtils]: 23: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,157 INFO L290 TraceCheckUtils]: 24: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} SUMMARY for call write~int(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,158 INFO L290 TraceCheckUtils]: 25: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} havoc main_#t~nondet27#1; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,158 INFO L290 TraceCheckUtils]: 26: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,158 INFO L290 TraceCheckUtils]: 27: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume !(main_~i~1#1 < main_~length2~0#1); {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,159 INFO L290 TraceCheckUtils]: 28: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (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: L568-4 {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,159 INFO L290 TraceCheckUtils]: 29: Hoare triple {25669#(<= (+ |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: L573 {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:43:03,160 INFO L290 TraceCheckUtils]: 30: Hoare triple {25669#(<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume { :begin_inline_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,160 INFO L290 TraceCheckUtils]: 32: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,161 INFO L290 TraceCheckUtils]: 33: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,162 INFO L290 TraceCheckUtils]: 36: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,162 INFO L290 TraceCheckUtils]: 37: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,162 INFO L290 TraceCheckUtils]: 38: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} goto; {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} is VALID [2022-02-20 23:43:03,163 INFO L290 TraceCheckUtils]: 39: Hoare triple {25718#(<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {25746#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 3) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,163 INFO L290 TraceCheckUtils]: 40: Hoare triple {25746#(and (<= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 3) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (= (+ |ULTIMATE.start_cstrstr_#t~post17#1.offset| 1) |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,164 INFO L290 TraceCheckUtils]: 41: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,164 INFO L290 TraceCheckUtils]: 42: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,164 INFO L290 TraceCheckUtils]: 43: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,165 INFO L290 TraceCheckUtils]: 44: Hoare triple {25618#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 1 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,165 INFO L290 TraceCheckUtils]: 45: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,166 INFO L290 TraceCheckUtils]: 46: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,166 INFO L290 TraceCheckUtils]: 47: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,166 INFO L290 TraceCheckUtils]: 48: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,167 INFO L290 TraceCheckUtils]: 49: Hoare triple {25619#(and (<= 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:43:03,167 INFO L290 TraceCheckUtils]: 50: Hoare triple {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(0 == cstrncmp_~n#1 % 4294967296); {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} is VALID [2022-02-20 23:43:03,168 INFO L290 TraceCheckUtils]: 51: Hoare triple {25620#(and (<= 2 |ULTIMATE.start_cstrncmp_~s1#1.offset|) (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)))} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {25611#false} is VALID [2022-02-20 23:43:03,168 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:43:03,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:43:03,508 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:43:03,560 INFO L290 TraceCheckUtils]: 51: Hoare triple {25783#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} assume !(1 + cstrncmp_~s1#1.offset <= #length[cstrncmp_~s1#1.base] && 0 <= cstrncmp_~s1#1.offset); {25611#false} is VALID [2022-02-20 23:43:03,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {25783#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} assume !(0 == cstrncmp_~n#1 % 4294967296); {25783#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} is VALID [2022-02-20 23:43:03,561 INFO L290 TraceCheckUtils]: 49: Hoare triple {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume { :begin_inline_cstrncmp } true;cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset, cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset, cstrncmp_#in~n#1 := cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~len~0#1;havoc cstrncmp_#res#1;havoc cstrncmp_#t~mem6#1, cstrncmp_#t~post5#1.base, cstrncmp_#t~post5#1.offset, cstrncmp_#t~mem7#1, cstrncmp_#t~mem9#1, cstrncmp_#t~pre8#1.base, cstrncmp_#t~pre8#1.offset, cstrncmp_#t~mem10#1, cstrncmp_#t~post11#1.base, cstrncmp_#t~post11#1.offset, cstrncmp_#t~mem12#1, cstrncmp_#t~pre4#1, cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset, cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset, cstrncmp_~n#1;cstrncmp_~s1#1.base, cstrncmp_~s1#1.offset := cstrncmp_#in~s1#1.base, cstrncmp_#in~s1#1.offset;cstrncmp_~s2#1.base, cstrncmp_~s2#1.offset := cstrncmp_#in~s2#1.base, cstrncmp_#in~s2#1.offset;cstrncmp_~n#1 := cstrncmp_#in~n#1; {25783#(and (<= (+ |ULTIMATE.start_cstrncmp_~s1#1.offset| 1) (select |#length| |ULTIMATE.start_cstrncmp_~s1#1.base|)) (<= 0 |ULTIMATE.start_cstrncmp_~s1#1.offset|))} is VALID [2022-02-20 23:43:03,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,562 INFO L290 TraceCheckUtils]: 47: Hoare triple {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,562 INFO L290 TraceCheckUtils]: 46: Hoare triple {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,563 INFO L290 TraceCheckUtils]: 45: Hoare triple {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,563 INFO L290 TraceCheckUtils]: 44: Hoare triple {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {25790#(and (<= (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 |ULTIMATE.start_cstrstr_~s#1.offset|))} is VALID [2022-02-20 23:43:03,564 INFO L290 TraceCheckUtils]: 43: Hoare triple {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} assume !!(cstrstr_~sc~0#1 != cstrstr_~c~0#1); {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:03,564 INFO L290 TraceCheckUtils]: 42: Hoare triple {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} assume !(0 == cstrstr_~sc~0#1);havoc cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset;havoc cstrstr_#t~mem18#1; {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:03,564 INFO L290 TraceCheckUtils]: 41: Hoare triple {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} cstrstr_~sc~0#1 := cstrstr_#t~mem18#1; {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:03,565 INFO L290 TraceCheckUtils]: 40: Hoare triple {25819#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1))))} SUMMARY for call cstrstr_#t~mem18#1 := read~int(cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, 1); srcloc: L544 {25806#(and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1)))} is VALID [2022-02-20 23:43:03,565 INFO L290 TraceCheckUtils]: 39: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset := cstrstr_~s#1.base, cstrstr_~s#1.offset;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#t~post17#1.base, 1 + cstrstr_#t~post17#1.offset; {25819#(or (not (<= 0 |ULTIMATE.start_cstrstr_#t~post17#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrstr_~s#1.offset| 1))))} is VALID [2022-02-20 23:43:03,566 INFO L290 TraceCheckUtils]: 38: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} goto; {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,566 INFO L290 TraceCheckUtils]: 37: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_#t~ret15#1 := cstrlen_#res#1;assume { :end_inline_cstrlen } true;cstrstr_~len~0#1 := cstrstr_#t~ret15#1;havoc cstrstr_#t~ret15#1; {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrlen_#res#1 := (if cstrlen_~s~0#1.offset - cstrlen_~str#1.offset < 0 && 0 != (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) % 1 then 1 + (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1 else (cstrlen_~s~0#1.offset - cstrlen_~str#1.offset) / 1); {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume !(0 != cstrlen_#t~mem3#1);havoc cstrlen_#t~mem3#1; {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,568 INFO L290 TraceCheckUtils]: 34: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrlen_#t~mem3#1 := read~int(cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset, 1); srcloc: L518-4 {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,568 INFO L290 TraceCheckUtils]: 33: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} assume 0 != cstrstr_~c~0#1;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset;havoc cstrstr_#t~mem14#1;assume { :begin_inline_cstrlen } true;cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;havoc cstrlen_#res#1;havoc cstrlen_#t~pre2#1.base, cstrlen_#t~pre2#1.offset, cstrlen_#t~mem3#1, cstrlen_~str#1.base, cstrlen_~str#1.offset, cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~str#1.base, cstrlen_~str#1.offset := cstrlen_#in~str#1.base, cstrlen_#in~str#1.offset;havoc cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset;cstrlen_~s~0#1.base, cstrlen_~s~0#1.offset := cstrlen_~str#1.base, cstrlen_~str#1.offset; {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,568 INFO L290 TraceCheckUtils]: 32: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} cstrstr_~c~0#1 := cstrstr_#t~mem14#1; {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} SUMMARY for call cstrstr_#t~mem14#1 := read~int(cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, 1); srcloc: L540 {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {25851#(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_cstrstr } true;cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset, cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrstr_#res#1.base, cstrstr_#res#1.offset;havoc cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset, cstrstr_#t~mem14#1, cstrstr_#t~ret15#1, cstrstr_#t~post17#1.base, cstrstr_#t~post17#1.offset, cstrstr_#t~mem18#1, cstrstr_#t~ret16#1, cstrstr_#t~post19#1.base, cstrstr_#t~post19#1.offset, cstrstr_~s#1.base, cstrstr_~s#1.offset, cstrstr_~find#1.base, cstrstr_~find#1.offset, cstrstr_~c~0#1, cstrstr_~sc~0#1, cstrstr_~len~0#1;cstrstr_~s#1.base, cstrstr_~s#1.offset := cstrstr_#in~s#1.base, cstrstr_#in~s#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#in~find#1.base, cstrstr_#in~find#1.offset;havoc cstrstr_~c~0#1;havoc cstrstr_~sc~0#1;havoc cstrstr_~len~0#1;cstrstr_#t~post13#1.base, cstrstr_#t~post13#1.offset := cstrstr_~find#1.base, cstrstr_~find#1.offset;cstrstr_~find#1.base, cstrstr_~find#1.offset := cstrstr_#t~post13#1.base, 1 + cstrstr_#t~post13#1.offset; {25823#(or (< |ULTIMATE.start_cstrstr_~s#1.offset| 0) (<= (+ 3 |ULTIMATE.start_cstrstr_~s#1.offset|) (select |#length| |ULTIMATE.start_cstrstr_~s#1.base|)))} is VALID [2022-02-20 23:43:03,570 INFO L290 TraceCheckUtils]: 29: Hoare triple {25851#(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: L573 {25851#(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:43:03,570 INFO L290 TraceCheckUtils]: 28: Hoare triple {25851#(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_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L568-4 {25851#(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:43:03,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {25851#(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 !(main_~i~1#1 < main_~length2~0#1); {25851#(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:43:03,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {25851#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {25851#(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:43:03,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {25851#(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|)))} havoc main_#t~nondet27#1; {25851#(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:43:03,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {25851#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {25851#(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:43:03,572 INFO L290 TraceCheckUtils]: 23: Hoare triple {25851#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {25851#(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:43:03,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {25851#(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|)))} main_#t~post26#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post26#1;havoc main_#t~post26#1; {25851#(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:43:03,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {25851#(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|)))} havoc main_#t~nondet27#1; {25851#(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:43:03,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {25851#(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(main_#t~nondet27#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L570 {25851#(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:43:03,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {25851#(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 !!(main_~i~1#1 < main_~length2~0#1);assume -128 <= main_#t~nondet27#1 && main_#t~nondet27#1 <= 127; {25851#(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:43:03,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {25851#(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|)))} main_~i~1#1 := 0; {25851#(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:43:03,575 INFO L290 TraceCheckUtils]: 17: Hoare triple {25851#(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 !(main_~i~0#1 < main_~length1~0#1); {25851#(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:43:03,575 INFO L290 TraceCheckUtils]: 16: Hoare triple {25851#(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|)))} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25851#(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:43:03,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {25851#(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|)))} havoc main_#t~nondet25#1; {25851#(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:43:03,576 INFO L290 TraceCheckUtils]: 14: Hoare triple {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25851#(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:43:03,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,577 INFO L290 TraceCheckUtils]: 12: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25662#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,577 INFO L290 TraceCheckUtils]: 11: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,577 INFO L290 TraceCheckUtils]: 10: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post24#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post24#1;havoc main_#t~post24#1; {25649#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} havoc main_#t~nondet25#1; {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,579 INFO L290 TraceCheckUtils]: 6: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} SUMMARY for call write~int(main_#t~nondet25#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L566 {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1);assume -128 <= main_#t~nondet25#1 && main_#t~nondet25#1 <= 127; {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,579 INFO L290 TraceCheckUtils]: 4: Hoare triple {25610#true} call main_#t~malloc22#1.base, main_#t~malloc22#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc22#1.base, main_#t~malloc22#1.offset;call main_#t~malloc23#1.base, main_#t~malloc23#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc23#1.base, main_#t~malloc23#1.offset;main_~i~0#1 := 0; {25636#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:03,580 INFO L290 TraceCheckUtils]: 3: Hoare triple {25610#true} assume !(main_~length2~0#1 < 1); {25610#true} is VALID [2022-02-20 23:43:03,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#true} assume !(main_~length1~0#1 < 1); {25610#true} is VALID [2022-02-20 23:43:03,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {25610#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet20#1, main_#t~nondet21#1, main_#t~malloc22#1.base, main_#t~malloc22#1.offset, main_#t~malloc23#1.base, main_#t~malloc23#1.offset, main_#t~nondet25#1, main_#t~post24#1, main_~i~0#1, main_#t~nondet27#1, main_#t~post26#1, main_~i~1#1, main_#t~ret28#1.base, main_#t~ret28#1.offset, 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~nondet20#1 && main_#t~nondet20#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -2147483648 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1; {25610#true} is VALID [2022-02-20 23:43:03,580 INFO L290 TraceCheckUtils]: 0: Hoare triple {25610#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {25610#true} is VALID [2022-02-20 23:43:03,580 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:43:03,580 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [636654506] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:43:03,580 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:43:03,580 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 22 [2022-02-20 23:43:03,580 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [582535935] [2022-02-20 23:43:03,580 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:43:03,581 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 5.2272727272727275) internal successors, (115), 23 states have internal predecessors, (115), 0 states have call successors, (0), 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 52 [2022-02-20 23:43:03,581 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:03,581 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 22 states have (on average 5.2272727272727275) internal successors, (115), 23 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:43:03,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:03,661 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 23:43:03,661 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:03,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 23:43:03,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:43:03,662 INFO L87 Difference]: Start difference. First operand 291 states and 328 transitions. Second operand has 23 states, 22 states have (on average 5.2272727272727275) internal successors, (115), 23 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0)